<!DOCTYPE html>
<!-- Created by pdf2htmlEX (https://github.com/coolwanglu/pdf2htmlex) -->
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8"/>
    <meta name="generator" content="pdf2htmlEX"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
    <style type="text/css">
        /*!
 * Base CSS for pdf2htmlEX
 * Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
 * https://github.com/coolwanglu/pdf2htmlEX/blob/master/share/LICENSE
 */
        #sidebar {
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            width: 250px;
            padding: 0;
            margin: 0;
            overflow: auto
        }

        #page-container {
            position: absolute;
            top: 0;
            left: 0;
            margin: 0;
            padding: 0;
            border: 0
        }

        @media screen {
            #sidebar.opened + #page-container {
                left: 250px
            }

            #page-container {
                bottom: 0;
                right: 0;
                overflow: auto
            }

            .loading-indicator {
                display: none
            }

            .loading-indicator.active {
                display: block;
                position: absolute;
                width: 64px;
                height: 64px;
                top: 50%;
                left: 50%;
                margin-top: -32px;
                margin-left: -32px
            }

            .loading-indicator img {
                position: absolute;
                top: 0;
                left: 0;
                bottom: 0;
                right: 0
            }
        }

        @media print {
            @page {
                margin: 0
            }

            html {
                margin: 0
            }

            body {
                margin: 0;
                -webkit-print-color-adjust: exact
            }

            #sidebar {
                display: none
            }

            #page-container {
                width: auto;
                height: auto;
                overflow: visible;
                background-color: transparent
            }

            .d {
                display: none
            }
        }

        .pf {
            position: relative;
            background-color: white;
            overflow: hidden;
            margin: 0;
            border: 0
        }

        .pc {
            position: absolute;
            border: 0;
            padding: 0;
            margin: 0;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            overflow: hidden;
            display: block;
            transform-origin: 0 0;
            -ms-transform-origin: 0 0;
            -webkit-transform-origin: 0 0
        }

        .pc.opened {
            display: block
        }

        .bf {
            position: absolute;
            border: 0;
            margin: 0;
            top: 0;
            bottom: 0;
            width: 100%;
            height: 100%;
            -ms-user-select: none;
            -moz-user-select: none;
            -webkit-user-select: none;
            user-select: none
        }

        .bi {
            position: absolute;
            border: 0;
            margin: 0;
            -ms-user-select: none;
            -moz-user-select: none;
            -webkit-user-select: none;
            user-select: none
        }

        @media print {
            .pf {
                margin: 0;
                box-shadow: none;
                page-break-after: always;
                page-break-inside: avoid
            }

            @-moz-document url-prefix() {
                .pf {
                    overflow: visible;
                    border: 1px solid #fff
                }
                .pc {
                    overflow: visible
                }
            }
        }

        .c {
            position: absolute;
            border: 0;
            padding: 0;
            margin: 0;
            overflow: hidden;
            display: block
        }

        .t {
            position: absolute;
            white-space: pre;
            font-size: 1px;
            transform-origin: 0 100%;
            -ms-transform-origin: 0 100%;
            -webkit-transform-origin: 0 100%;
            unicode-bidi: bidi-override;
            -moz-font-feature-settings: "liga" 0
        }

        .t:after {
            content: ''
        }

        .t:before {
            content: '';
            display: inline-block
        }

        .t span {
            position: relative;
            unicode-bidi: bidi-override
        }

        ._ {
            display: inline-block;
            color: transparent;
            z-index: -1
        }

        ::selection {
            background: rgba(127, 255, 255, 0.4)
        }

        ::-moz-selection {
            background: rgba(127, 255, 255, 0.4)
        }

        .pi {
            display: none
        }

        .d {
            position: absolute;
            transform-origin: 0 100%;
            -ms-transform-origin: 0 100%;
            -webkit-transform-origin: 0 100%
        }

        .it {
            border: 0;
            background-color: rgba(255, 255, 255, 0.0)
        }

        .ir:hover {
            cursor: pointer
        }</style>
    <style type="text/css">
        /*!
 * Fancy styles for pdf2htmlEX
 * Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com>
 * https://github.com/coolwanglu/pdf2htmlEX/blob/master/share/LICENSE
 */
        @keyframes fadein {
            from {
                opacity: 0
            }
            to {
                opacity: 1
            }
        }

        @-webkit-keyframes fadein {
            from {
                opacity: 0
            }
            to {
                opacity: 1
            }
        }

        @keyframes swing {
            0% {
                transform: rotate(0deg)
            }
            10% {
                transform: rotate(0deg)
            }
            90% {
                transform: rotate(720deg)
            }
            100% {
                transform: rotate(720deg)
            }
        }

        @-webkit-keyframes swing {
            0% {
                -webkit-transform: rotate(0deg)
            }
            10% {
                -webkit-transform: rotate(0deg)
            }
            90% {
                -webkit-transform: rotate(720deg)
            }
            100% {
                -webkit-transform: rotate(720deg)
            }
        }

        @media screen {
            #sidebar {
                background-color: #2f3236;
                background-image: url("")
            }

            #outline {
                font-family: Georgia, Times, "Times New Roman", serif;
                font-size: 13px;
                margin: 2em 1em
            }

            #outline ul {
                padding: 0
            }

            #outline li {
                list-style-type: none;
                margin: 1em 0
            }

            #outline li > ul {
                margin-left: 1em
            }

            #outline a, #outline a:visited, #outline a:hover, #outline a:active {
                line-height: 1.2;
                color: #e8e8e8;
                text-overflow: ellipsis;
                white-space: nowrap;
                text-decoration: none;
                display: block;
                overflow: hidden;
                outline: 0
            }

            #outline a:hover {
                color: #0cf
            }

            #page-container {
                background-color: #9e9e9e;
                background-image: url("");
                -webkit-transition: left 500ms;
                transition: left 500ms
            }

            .pf {
                margin: 13px auto;
                box-shadow: 1px 1px 3px 1px #333;
                border-collapse: separate
            }

            .pc.opened {
                -webkit-animation: fadein 100ms;
                animation: fadein 100ms
            }

            .loading-indicator.active {
                -webkit-animation: swing 1.5s ease-in-out .01s infinite alternate none;
                animation: swing 1.5s ease-in-out .01s infinite alternate none
            }

            .checked {
                background: no-repeat url()
            }
        }</style>
    <style type="text/css">
        .ff0 {
            font-family: sans-serif;
            visibility: hidden;
        }

        @font-face {
            font-family: ff1;
            src: url('data:application/font-woff;base64,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') format("woff");
        }

        .ff1 {
            font-family: ff1;
            line-height: 0.912000;
            font-style: normal;
            font-weight: normal;
            visibility: visible;
        }

        @font-face {
            font-family: ff2;
            src: url('data:application/font-woff;base64,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') format("woff");
        }

        .ff2 {
            font-family: ff2;
            line-height: 0.700000;
            font-style: normal;
            font-weight: normal;
            visibility: visible;
        }

        @font-face {
            font-family: ff3;
            src: url('data:application/font-woff;base64,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') format("woff");
        }

        .ff3 {
            font-family: ff3;
            line-height: 0.981000;
            font-style: normal;
            font-weight: normal;
            visibility: visible;
        }

        @font-face {
            font-family: ff4;
            src: url('data:application/font-woff;base64,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') format("woff");
        }

        .ff4 {
            font-family: ff4;
            line-height: 1.045000;
            font-style: normal;
            font-weight: normal;
            visibility: visible;
        }

        @font-face {
            font-family: ff5;
            src: url('data:application/font-woff;base64,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') format("woff");
        }

        .ff5 {
            font-family: ff5;
            line-height: 1.037000;
            font-style: normal;
            font-weight: normal;
            visibility: visible;
        }

        @font-face {
            font-family: ff6;
            src: url('data:application/font-woff;base64,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') format("woff");
        }

        .ff6 {
            font-family: ff6;
            line-height: 0.912127;
            font-style: normal;
            font-weight: normal;
            visibility: visible;
        }

        @font-face {
            font-family: ff7;
            src: url('data:application/font-woff;base64,d09GRgABAAAAAA1YAA0AAAAAEwgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABMAAAABoAAAAcxIkD0EdERUYAAAFMAAAAHQAAACAARwAET1MvMgAAAWwAAABCAAAAVlbOYaxjbWFwAAABsAAAAJYAAAGKVqFQOWdhc3AAAAJIAAAACAAAAAj//wADZ2x5ZgAAAlAAAAfRAAAJ4PZOmA1oZWFkAAAKJAAAADEAAAA2I/dM6GhoZWEAAApYAAAAIQAAACQFQwGcaG10eAAACnwAAABZAAAAaC2+AuJsb2NhAAAK2AAAADYAAAA2HR4aim1heHAAAAsQAAAAHgAAACAAYQBObmFtZQAACzAAAAHfAAAErXveblBwb3N0AAANEAAAAEcAAABWAZcCIHicY2BgYGQAgjO2i86D6BrVDQ0wGgBE1QYeAAB4nGNgZGBg4ANiCQYQYGJgBEJJIGYB8xgABV0ATAAAAHicY2BkvMW0h4GVgYGpC0jLM/SA6P9TGR8wGDIyAUUZOJgZYICRAQkEpLmmMCgyKDCUAtVLAlXuYXgOUwMAcZoNJwAAeJxjYGBgZoBgGQZGBhBoAfIYwXwWhgwgLcYgABRhY1Bg0GOwZHBj8GFIZUhnyGTIYyj9/x8or8Cgy2CAIl70////x/+v/7/2/9T/o//X/l/zf/X/5f+XQM3HAhjZGOCSjExAggldAcSJcMDCysDGzsHJxc3Dy8ePLCEAJgVxWSTEIMwgAmKIgjwmLiGJSyH9AQAooR5pAAAAAAAB//8AAnicXZVbbNvmFcd5Pl1o3SxLpERRd4oiKVl3URIV25Kq2I5vihvHlziWY7dOHDtJm6SNs3RJOmNblq5pF6B9aVqswbaXoV6LFcOAYUCBosUwdBgaDOgyrBh2eyiw7WUolqDdMFP7KClOMD9IFiGd/zm/8//+H2Eg8B/cQ+8ROsJImAgrYSeInINz6CiOYhzAWcBBwb3/7Khvf7Sj3oS5nY920Hu7I/AS0VJ/2wJ19y7RgqSKiBYBhEJ8CHWgcS2Ckkl+4kvnl0AfbksQgdZ94pfE97ECwfARsVgoyXm3izauQ1gqJCOSbJGCycH+UFLRvo8IuXUfZdE20Utw+Od8hDS6aDlfUqpQLEhyPohcNNkL7Ur4GTwFRbmmiEWfi61AdSHelxW/snr2REHcRrOvvPPdxVPHD74Zm0vGR+vRrz+7vHll9dvn549rfQ3hlw+xDkUQcg2qoFAlMQM1YHRGdwjIoZ6606lf05O2kZ4veq7obc7hHkEPfTR84LYjQzhK7v6OtiO9oNXCNJGAa/EEEQcJ1yoVC3zE+KDP7sT4I8nhSRj4QJ0ibZtP7BRCeZ+ZcfmTL6xtnFs9Wdixgz3oj4bNo+dHLr0yPlRnWTFUXjk6fWhNoo/5PHlLh6kTM/JhvcE2ISMf6WhgTMWCqAnjR6IkPtB14dde9KAVJgidL4IZPGUj67STBWZQCXgCORarJ0D33InNp45Nv5w91JQ3LuYCEasjwSVrSdhnDVOs7Vg9KuSLUc4XPzw7Vhnv0UcvlmYS9GQunExXMyuNSq69R8wV0WiLoAmWIASeNGKoXA1KNeClklORdTInUzxCugWXgUma1E9MitfgvtcbUU9eWT6iLv+sAZ/9YIXV6QRBj9iVUB6Cx9V1yKutDgMKMyij54l+zXN5hSG5iNEOTGfmNvgOgL1xsZUk6v07rzrJhvpFn41MoMnHnzzRuDh58iyCXIimjfYUl1IKmeEMfwRtmcxXLdQ3Ua45M30qNZkLpVjPUHqhWR4YYOEAni+N9VN4ByEihdvpkOYjUhu/XN17oDFXSlR7KW0ja+Avw+JSyhs22wezh92ImQ3Pzd3YunRmerRBgSdoZ8ZT5TTaHouGwrGFm+e8fHNu/cbzG6d/sa+m/pr2SEtXtw5nCpjBUdzDHGbswww4BturvflioYqUql7BQEjpTXjHbF+dPWMxjE0ER7I5e9YdYq3qvwXOx6Mtq3Jt+fJb+wb4sQU5b88ynL/Pm3VgvjrCh2tn8HwBIkYU9iYkXUHo4tUGK6ZBU8MH+8Fwuva/HStCE84fXxxMVw8+M3HhwompSDk2ekiBhFwSC2chXufC6SG0faS2f8Kkt04WGk8Ka1Njpw06UyWfOSA4k6eHJtYOPqZ+9vRMPHvu0GInH0TcVxD3FSbSBKHsmZp+6Pn2xjECqRcU7AwtODpNfQ6jC996+i6qTL07fwpBOsjZbFFvMMvTVuSZYCHptvQ9li5H/9mc2vzG31+9dGss44tl8/H00ngZvPyEQM/3b5xvpEqa/3DWoZvoO4SE2SscyachAZoDtazCGVgSE3gd7o7pO+kiXTeDKkrm0Gjd2aeXN+OCR8pKiI2fypJWJkeq75viVB+5QRootCn8+Jhotf+NK/4hHfvE6wE9PgbgCcBvWC/S/N/6L9YfxPp+LXMeBpjC2QEbAYdYm4EMu7stUwaX3SSNVMYM+8xpymncJMWCwKclMdat6vWBPhrVA+tXU0GngVMGNNbR1j24A59if+FkE5huhijdM6YjO5uWuoThdoCbn5XrSxPz1+ujqer8YAAEcea1g/Nc7NBbTGWcbSx+9diZgUJ0KOK16Cyh2MBPHIuF/uc0v7X+3GJRBGulcapNarnWPVBYg9EO8YPThD2HHrEeXrfCGB4xnajrvEki3j9+iIzDjvMne/L+2rJYSNx89vT2NRdD11N8lsqs7B8pXjOoKsTyfk866W9C/zDPDxWZ2AxcZ2IHF/QWJ2tzWR2V/OjJqVrDhcz2CBPI2MBSyYXLpbDfZ+JX93H8CSUU2X1dknwhq1uv4yLZcturNcxvP7pN9OFThPnhAfCSupeMnKcezQgQ/Y0Lx0PjJrZE/tH4hMXtN0Iolo5yUuJ79K0tIEUwhv1G9XYCHeXDQlIIctl2DvKte2gRc8Mbkslu9W4A2cGouVHTFXHytjPo7RdXzZ5yz1/1NX3+6kg5Qh+w0n1pOti4mBIdo86gf90bs8BlQWcM+/S/WtqaVf4SLwnu1yrKP0rXBlc62Zto3Ye7bV9omlUQu6qlvYnaWj99sWFGJmuO/NjQb2g+7gtl3VTE5hr0eCxQT/ab8DXq1//o3XDAXwmem5rs1O7BzG61ffBIqqZx4GAfaJe/8f/vMSmt0/hZYHwk4fLYXUFanA2EfKebs9Nxd8DiSzGUe5p2BXvX4NNyiIn6+rlEZIQNFYPDSwOiL84Ukx46WXNQQowZPtLuYX/rX3ADNQm35kPdQ4gKxStye1L42nrDxDjyjH/mUqq/b3rUMux52SZtwG31TrQgut4YqkA+s1giX9Dq1fGOVuD3RAR/ULR6CtOOUHwXau94N3umwJcF/PylFQsdKPn5oyPxiJ3R55+ZWuOrFlbp+ZPhqMXrWwl74GOLeivRpA8cVgoLy+s3Po/pDJzHoP5Q3h7H3vsfDPnlkAAAAHicY2BkAIPfWy7Ux/PbfGXgZn4B4j80aRWH0f/v/5dk6mPaw8DMwMHABBIFAH+lDUgAAAB4nGNgZGBg2vNfEkhG/b//fzVTH0MKgzgDMpACAKOrBuEAAAB4nGO8xgAGjL5A4jiQjmYwZ+RkkGUSYjAGYhsgZgViISAWhmI9II4EYmkgVmOyZGBmcvv/h/EYgwrjy//3GR0Y7JmiGJQZNzNoM/YycDBGMDgB+Y4AY3QOwwAAAAAAACYAJgAmACYANABMAIAApgDeATABYAGgAeICEAJcAqAC4AMSA0gDsgPkBB4ETASOBLYE8AAAeJxjYGRgYJBi8GZgZQABJiBmZACJOYD5DAAMvQCwAAB4nMWSwU7bQBCGf9sBUVXtsee5IpTIOCe4BWhQEALkCDj14LCLsex4rbUbKae2175BX6JP0577Jqj/blzUU1VVlcjK3m9m/pnMjAzgNb4iwOb3gbDhALvBt55DDMKdniO8Db/0PMBuNO55Cy+j9z1v0/+dymDwgtajz3IcIA0+9hxiJ3jsOcLn8FXPA6Thj5638CZ61/M20ugTjmHQYA2LAjke0EGQIOZJSBMoxhfQ5DlVLeMaS96CGWrcMWqZ796ZjymMfF7FI0ifqrbe0rw1tasn5TVjroOC+cK30zmyVOTe7nyG0wvZ/Y/yPWTkkj6D+3/uFMemWdsif+gkieNEJsostMzXbaeXrczqO2MbY7NOq5FMqkpSJ20l1a22K+e87kxTZFK0konVecFEq5V0NlN6mdlSzP2figInuGTvV7jFBfZwyoncqdjdGeevOdGKfM5JKlJDz+8bm5MVhjiix+XMaOPkcnJ1e7F3WpZlpc7yerFS58tq1dSbZuedGh6ZSs0o/ZUH5wCmNGuWmPo15X6ZCdcU8z7k8/+b3dRNMKb/gE/iP7wxWzF1NzU215KMYjmUvx6K2mQ8PBgmcTJ+7vXe+E+3ZS23V8G+3yVutG0LU8v+KH7mDn8CIAT4WgB4nG3Jyw1EUABA0eNNA8TfaMBKooqJ2Fj49KNkBZhXgJuc1RV47ugyeauLEsFHKpMrlCq1RhvfV28w+pktVpvd4fwDY8QHtgA=') format("woff");
        }

        .ff7 {
            font-family: ff7;
            line-height: 0.931000;
            font-style: normal;
            font-weight: normal;
            visibility: visible;
        }

        @font-face {
            font-family: ff8;
            src: url('data:application/font-woff;base64,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') format("woff");
        }

        .ff8 {
            font-family: ff8;
            line-height: 0.937000;
            font-style: normal;
            font-weight: normal;
            visibility: visible;
        }

        @font-face {
            font-family: ff9;
            src: url('data:application/font-woff;base64,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') format("woff");
        }

        .ff9 {
            font-family: ff9;
            line-height: 0.904000;
            font-style: normal;
            font-weight: normal;
            visibility: visible;
        }

        @font-face {
            font-family: ffa;
            src: url('data:application/font-woff;base64,d09GRgABAAAAAAe8AA0AAAAADLAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABMAAAABoAAAAcxIkD0EdERUYAAAFMAAAAHQAAACAANgAET1MvMgAAAWwAAABDAAAAVlV5XipjbWFwAAABsAAAAGAAAAFiAQEOA2dhc3AAAAIQAAAACAAAAAj//wADZ2x5ZgAAAhgAAAIFAAACKPaYdRVoZWFkAAAEIAAAADAAAAA2JENNL2hoZWEAAARQAAAAHwAAACQFagHpaG10eAAABHAAAAAkAAAAJAnEAXRsb2NhAAAElAAAABQAAAAUAeYChm1heHAAAASoAAAAHgAAACAAUABJbmFtZQAABMgAAALBAAAGujTp3jlwb3N0AAAHjAAAAC4AAAA7d/agS3icY2BgYGQAgjO2i86D6BrVDQ0wGgBE1QYeAAB4nGNgZGBg4ANiCQYQYGJgBEIOIGYB8xgABKIAOwAAAHicY2Bk1GecwMDKwMDUxbSHQZahB0T/n8v4gMGQkQkoysDKzAADjAxIICDNNQUoosBQzHTqfwBQ5SmGDTA1ACyFDEwAeJxjYGBgZoBgGQZGBhCIAfIYwXwWBgcgzcPAwcAEZCswpDJkMhQwFP//DxRF4v1//H/+/zn/p/2fAjUBDhjZGOBCjExAgokBTQHEaooBCxCzQphAK9mpYSS1AABTShEHAAAAAf//AAJ4nB2Qz2vTYBjHn/dN8r5N0yVLYpo2rnFp+sP+XJe3a2aZcc4JUsYoI44dhky8TUTtVe8KiqeB/0MR/AcGA0WoHkVv3gT1Ioh4Epr61ufyXB6ez+f7BQlOAPBTfAoCEJAhAxoA0z1dMD3T1pGnIN08QX/+jpNXk3HyAsXjyRifTrfRM5gln2YomX6GGWomGGbAB8Ph7Df6iiugQBvAZGGEKn5RxVTyVOxiFkQ4ZKrgFythJLLAxYS+OyMSKvkXVguaiKTkGyGUqF5+qeWoYiwVgpvs9mU3bde7u52VyCEpGW0Xlvs1r1vR95e8db9kOI2yke9frT953hoMQ9/rDKLa3GUDAF3EH3g2ylOZTDBDRjdG8WjFii2cm/7Ax0dH/M6YDdF37pwGlzsTFvTCHrcmgskoixALhP/GVZ+eNe+ub9nZbLh57e3LoYq1nfrrvlK6FK+W1igOUObjvfsHD46nX/Bka7mT/GK3DsNa8Scg6PFe3nPGde7kz79Tkj3nEtslVEV+sY0jFDKO5qvXbdNqm4RzMi8IvYmVXPNAF6UM1RVrwaa6UdAMgiR9tNu44upYEOP8HaPSoliQU7pspx3JUnzFkpC0+HDQ6jtURI96bE/WMwuptJSSqECoptrny9m9fbPsdx3rsdLwFUNT0wqRRRmnxMVMzqnaN3by3loR/gGFHmfMAAAAeJxjYGQAg+PfH8yN57f5ysDN/ALEf2jSKgGnhf4HMHUwnWJQYuBgYAKJAgBvHQwZeJxjYGRgYDr1PwBIdjAw/F8CJFMYRBmQAScAgvEFVgACiACUAAAAAAFNAAAAAQAAAbwAXADMADwBzwASAZcANgAAAAAAAAAoACgAKAAoAG4AggC0ARQBFHicY2BkYGDgZHBjYGUAASYgZmQAiTmA+QwACnUAmgAAeJzNVM1u00AQntQxEiBxg/McEW1c1zmltzbqnxr1L2mEeqjk2OvEabybrjdRIvU5eAAegOfgzBlx4kH4vF1KUSsEB6TaWs/n2e+bGc/umohe0Seqkb1qr1fWHK7RuvfR4RXyvW8Oe3RYv3G4Tuv+W4d9eulPHX4G/1cwa/XnEL+zqgrX6NLbdniFXnhfHPbog/fd4Tpd1j877NMb/73Dz+jSv6E2KZrSkjTlNKQRGWLaoBbukNaAI9gQT6YtSsEdkADuQlGCK6iAZTogSQlmNWJVz9jOpRRY3QQ338tQ2jcBK2Dnd8x9oIl9N+AmiMKwFbtCxsZNbc4Y+Ao+RRmeHbAksEFVU1tf29USuExDG8fYfFU2tooq5sjyz8HsWvaJq13aTsSwFbv3SO5j5M5sneIes5pfwt726U+5E+sx4N++K1eNBh7TzParBL/KUPVDgVU+qFxCX1j0N71QNnru1mDiqpd2JcSj6j1EH2BlAqK2mi51PhwZ3mi1wjWOwjDirVQNBHeXpRFFyQcyUXqqdGxEGvDWZMJWULIWpdDzyrkvJnNh8iTmvOSYjY5TUcT6ilXGnVwqs5wKbiNKANEwR1wtUs4lm5Hg86Ab8AmiS8OxTLl3pz7OsjwR1lnES0ZNv6sToU0MqxBG83im8zLNE5MrWf4MLuNCPFKF0pzjCyYIL0shfk3vFYN9tOWMduiCTukQ3VulPtZujB7O0cEeXaOLC/Q4o22MBe4C++HhPj8CnmF0oOnCm1ID6yaxx+hs5+L0sLPaH4/lfNm7ni6SbDtbLIrhXSOPxEx0el2TNtqyEmD9Crsf6UwVMcyu3TvGWo38wp7rAOeaaRPj/37BbY6ImvC0MCL7P2miLCXNrtJDwVEQ8ib/45dCETUbrUYURs2ntwp9e5JLd26rf2rVb+oLXWLP8UYQPrmafwC25XT+AAAAeJxjYGJg+P8FiJsZjBiwAU4gZmRgYmRi8GDwYQhmCGNgZkvPqSzIMAYA2vkHVgAA') format("woff");
        }

        .ffa {
            font-family: ffa;
            line-height: 0.890000;
            font-style: normal;
            font-weight: normal;
            visibility: visible;
        }

        .m0 {
            transform: matrix(0.325000, 0.000000, 0.000000, 0.325000, 0, 0);
            -ms-transform: matrix(0.325000, 0.000000, 0.000000, 0.325000, 0, 0);
            -webkit-transform: matrix(0.325000, 0.000000, 0.000000, 0.325000, 0, 0);
        }

        .m1 {
            transform: matrix(1.300000, 0.000000, 0.000000, 1.300000, 0, 0);
            -ms-transform: matrix(1.300000, 0.000000, 0.000000, 1.300000, 0, 0);
            -webkit-transform: matrix(1.300000, 0.000000, 0.000000, 1.300000, 0, 0);
        }

        .v0 {
            vertical-align: 0.000000px;
        }

        .ls1 {
            letter-spacing: -2.400000px;
        }

        .ls3 {
            letter-spacing: -1.120000px;
        }

        .ls6 {
            letter-spacing: -0.880000px;
        }

        .lsb {
            letter-spacing: -0.720000px;
        }

        .ls4 {
            letter-spacing: -0.680000px;
        }

        .ls2 {
            letter-spacing: -0.252000px;
        }

        .ls0 {
            letter-spacing: 0.000000px;
        }

        .lsc {
            letter-spacing: 0.240000px;
        }

        .ls7 {
            letter-spacing: 0.280000px;
        }

        .ls5 {
            letter-spacing: 0.480000px;
        }

        .lsa {
            letter-spacing: 0.520000px;
        }

        .ls9 {
            letter-spacing: 0.680000px;
        }

        .ls8 {
            letter-spacing: 0.800000px;
        }

        .sc_ {
            text-shadow: none;
        }

        .sc0 {
            text-shadow: -0.015em 0 transparent, 0 0.015em transparent, 0.015em 0 transparent, 0 -0.015em transparent;
        }

        @media screen and (-webkit-min-device-pixel-ratio: 0) {
            .sc_ {
                -webkit-text-stroke: 0px transparent;
            }

            .sc0 {
                -webkit-text-stroke: 0.015em transparent;
                text-shadow: none;
            }
        }

        .ws7 {
            word-spacing: -13.440000px;
        }

        .ws6 {
            word-spacing: -11.536000px;
        }

        .ws1 {
            word-spacing: -1.184000px;
        }

        .wsb {
            word-spacing: -0.800000px;
        }

        .wsc {
            word-spacing: -0.680000px;
        }

        .wsd {
            word-spacing: -0.520000px;
        }

        .ws8 {
            word-spacing: -0.480000px;
        }

        .wsa {
            word-spacing: -0.280000px;
        }

        .wsf {
            word-spacing: -0.240000px;
        }

        .ws0 {
            word-spacing: 0.000000px;
        }

        .ws3 {
            word-spacing: 0.252000px;
        }

        .ws5 {
            word-spacing: 0.680000px;
        }

        .wse {
            word-spacing: 0.720000px;
        }

        .ws9 {
            word-spacing: 0.880000px;
        }

        .ws4 {
            word-spacing: 1.120000px;
        }

        .ws2 {
            word-spacing: 2.400000px;
        }

        ._a {
            margin-left: -40.040002px;
        }

        ._7 {
            margin-left: -18.000000px;
        }

        ._3 {
            margin-left: -13.440000px;
        }

        ._6 {
            margin-left: -11.536000px;
        }

        ._4 {
            margin-left: -4.480000px;
        }

        ._2 {
            margin-left: -2.988003px;
        }

        ._1 {
            margin-left: -1.656000px;
        }

        ._0 {
            width: 1.184094px;
        }

        ._b {
            width: 9.599993px;
        }

        ._5 {
            width: 10.692006px;
        }

        ._8 {
            width: 11.960397px;
        }

        ._9 {
            width: 13.439603px;
        }

        ._c {
            width: 28.920001px;
        }

        ._d {
            width: 30.655915px;
        }

        .fc1 {
            color: rgb(208, 208, 208);
        }

        .fc2 {
            color: rgb(0, 0, 255);
        }

        .fc0 {
            color: rgb(30, 30, 27);
        }

        .fs0 {
            font-size: 32.000000px;
        }

        .fs2 {
            font-size: 36.000000px;
        }

        .fs1 {
            font-size: 40.000000px;
        }

        .fs3 {
            font-size: 56.000000px;
        }

        .y1 {
            bottom: 70.200000px;
        }

        .y156 {
            bottom: 96.147999px;
        }

        .y88 {
            bottom: 101.236716px;
        }

        .y5b {
            bottom: 107.666654px;
        }

        .yc2 {
            bottom: 110.271187px;
        }

        .y155 {
            bottom: 110.445400px;
        }

        .y87 {
            bottom: 115.534118px;
        }

        .y5a {
            bottom: 121.964046px;
        }

        .yc1 {
            bottom: 124.568588px;
        }

        .y154 {
            bottom: 124.742802px;
        }

        .y11e {
            bottom: 129.139922px;
        }

        .y86 {
            bottom: 129.831519px;
        }

        .yf3 {
            bottom: 131.493703px;
        }

        .y59 {
            bottom: 136.261447px;
        }

        .yc0 {
            bottom: 138.865990px;
        }

        .y153 {
            bottom: 139.040203px;
        }

        .y11d {
            bottom: 143.437324px;
        }

        .y85 {
            bottom: 144.128921px;
        }

        .yf2 {
            bottom: 145.791104px;
        }

        .y58 {
            bottom: 150.558849px;
        }

        .ybf {
            bottom: 153.163391px;
        }

        .y11c {
            bottom: 157.734715px;
        }

        .y4c {
            bottom: 159.755045px;
        }

        .yf1 {
            bottom: 160.088496px;
        }

        .y152 {
            bottom: 161.784996px;
        }

        .y25 {
            bottom: 163.142720px;
        }

        .y57 {
            bottom: 164.856250px;
        }

        .ybe {
            bottom: 167.460783px;
        }

        .y84 {
            bottom: 172.723714px;
        }

        .y4b {
            bottom: 174.052457px;
        }

        .y24 {
            bottom: 177.440121px;
        }

        .ybd {
            bottom: 181.758184px;
        }

        .y13d {
            bottom: 183.279727px;
        }

        .y11b {
            bottom: 186.329518px;
        }

        .y83 {
            bottom: 187.021115px;
        }

        .yf0 {
            bottom: 188.683308px;
        }

        .y151 {
            bottom: 191.690193px;
        }

        .y23 {
            bottom: 191.737523px;
        }

        .y56 {
            bottom: 193.451053px;
        }

        .ybc {
            bottom: 196.055585px;
        }

        .y13c {
            bottom: 197.577129px;
        }

        .y11a {
            bottom: 200.626920px;
        }

        .y82 {
            bottom: 201.318517px;
        }

        .yaa {
            bottom: 201.529120px;
        }

        .y4a {
            bottom: 202.647260px;
        }

        .yef {
            bottom: 202.980710px;
        }

        .y150 {
            bottom: 205.987595px;
        }

        .y22 {
            bottom: 206.034924px;
        }

        .y55 {
            bottom: 207.748454px;
        }

        .y13b {
            bottom: 211.874510px;
        }

        .y119 {
            bottom: 214.924321px;
        }

        .y81 {
            bottom: 215.615918px;
        }

        .ya9 {
            bottom: 215.826521px;
        }

        .y49 {
            bottom: 216.944641px;
        }

        .yee {
            bottom: 217.278091px;
        }

        .ybb {
            bottom: 218.800388px;
        }

        .y14f {
            bottom: 220.284996px;
        }

        .y21 {
            bottom: 220.332326px;
        }

        .y13a {
            bottom: 226.171912px;
        }

        .y118 {
            bottom: 229.221722px;
        }

        .y54 {
            bottom: 229.848454px;
        }

        .y80 {
            bottom: 229.913319px;
        }

        .ya8 {
            bottom: 230.123923px;
        }

        .y48 {
            bottom: 231.242043px;
        }

        .y14e {
            bottom: 234.582397px;
        }

        .y20 {
            bottom: 234.629727px;
        }

        .y139 {
            bottom: 240.469313px;
        }

        .y117 {
            bottom: 243.519124px;
        }

        .y7f {
            bottom: 244.210721px;
        }

        .y47 {
            bottom: 245.539444px;
        }

        .yed {
            bottom: 245.872894px;
        }

        .y1f {
            bottom: 248.927129px;
        }

        .y138 {
            bottom: 254.766714px;
        }

        .yda {
            bottom: 255.909412px;
        }

        .y14d {
            bottom: 256.682397px;
        }

        .y116 {
            bottom: 257.816525px;
        }

        .yab {
            bottom: 258.050000px;
        }

        .y7e {
            bottom: 258.508122px;
        }

        .ya7 {
            bottom: 258.718726px;
        }

        .y46 {
            bottom: 259.836845px;
        }

        .yec {
            bottom: 260.170296px;
        }

        .y137 {
            bottom: 269.064116px;
        }

        .yd9 {
            bottom: 270.206813px;
        }

        .yba {
            bottom: 271.450388px;
        }

        .y7d {
            bottom: 272.805524px;
        }

        .ya6 {
            bottom: 273.016127px;
        }

        .y45 {
            bottom: 274.134247px;
        }

        .yeb {
            bottom: 274.467697px;
        }

        .y1e {
            bottom: 277.521912px;
        }

        .y136 {
            bottom: 283.361517px;
        }

        .y115 {
            bottom: 286.411328px;
        }

        .y7c {
            bottom: 287.102925px;
        }

        .ya5 {
            bottom: 287.313528px;
        }

        .yea {
            bottom: 288.765099px;
        }

        .yb9 {
            bottom: 289.650388px;
        }

        .y1d {
            bottom: 291.819313px;
        }

        .yc4 {
            bottom: 294.450000px;
        }

        .y135 {
            bottom: 297.658919px;
        }

        .y14c {
            bottom: 299.618936px;
        }

        .y114 {
            bottom: 300.708730px;
        }

        .y7b {
            bottom: 301.400327px;
        }

        .y44 {
            bottom: 302.729050px;
        }

        .ye9 {
            bottom: 303.062500px;
        }

        .y1c {
            bottom: 306.116714px;
        }

        .yd8 {
            bottom: 306.605524px;
        }

        .y134 {
            bottom: 311.956320px;
        }

        .y14b {
            bottom: 313.916338px;
        }

        .y113 {
            bottom: 315.006111px;
        }

        .y7a {
            bottom: 315.697728px;
        }

        .ya4 {
            bottom: 315.908311px;
        }

        .y43 {
            bottom: 317.026451px;
        }

        .ye8 {
            bottom: 317.359901px;
        }

        .y1b {
            bottom: 320.414116px;
        }

        .y14a {
            bottom: 328.213739px;
        }

        .y79 {
            bottom: 329.995129px;
        }

        .ya3 {
            bottom: 330.205713px;
        }

        .y53 {
            bottom: 331.323853px;
        }

        .ye7 {
            bottom: 331.657303px;
        }

        .yb8 {
            bottom: 335.812072px;
        }

        .y133 {
            bottom: 340.551123px;
        }

        .yd7 {
            bottom: 342.360721px;
        }

        .y149 {
            bottom: 342.511121px;
        }

        .y112 {
            bottom: 343.600934px;
        }

        .y78 {
            bottom: 344.292511px;
        }

        .ya2 {
            bottom: 344.503134px;
        }

        .y42 {
            bottom: 345.621234px;
        }

        .ye6 {
            bottom: 345.954684px;
        }

        .y1a {
            bottom: 349.008939px;
        }

        .yb7 {
            bottom: 350.109493px;
        }

        .y132 {
            bottom: 354.848505px;
        }

        .y148 {
            bottom: 356.808542px;
        }

        .y111 {
            bottom: 357.898315px;
        }

        .ya1 {
            bottom: 358.800516px;
        }

        .y41 {
            bottom: 359.918655px;
        }

        .ye5 {
            bottom: 360.252106px;
        }

        .y19 {
            bottom: 363.306320px;
        }

        .yb6 {
            bottom: 364.406875px;
        }

        .y131 {
            bottom: 369.145926px;
        }

        .y147 {
            bottom: 371.105923px;
        }

        .y110 {
            bottom: 372.195737px;
        }

        .yd6 {
            bottom: 372.265918px;
        }

        .y77 {
            bottom: 372.887314px;
        }

        .ya0 {
            bottom: 373.097937px;
        }

        .y40 {
            bottom: 374.216037px;
        }

        .ye4 {
            bottom: 374.549487px;
        }

        .y18 {
            bottom: 377.603702px;
        }

        .yb5 {
            bottom: 378.704296px;
        }

        .y130 {
            bottom: 383.443307px;
        }

        .y146 {
            bottom: 385.403345px;
        }

        .y10f {
            bottom: 386.493118px;
        }

        .yd5 {
            bottom: 386.563339px;
        }

        .y76 {
            bottom: 387.184735px;
        }

        .y9f {
            bottom: 387.395319px;
        }

        .y3f {
            bottom: 388.513458px;
        }

        .ye3 {
            bottom: 388.846909px;
        }

        .y12f {
            bottom: 397.740729px;
        }

        .y10e {
            bottom: 400.790540px;
        }

        .y75 {
            bottom: 401.482117px;
        }

        .y9e {
            bottom: 401.692700px;
        }

        .y3e {
            bottom: 402.810840px;
        }

        .y17 {
            bottom: 406.198505px;
        }

        .y12e {
            bottom: 412.038110px;
        }

        .y145 {
            bottom: 413.998148px;
        }

        .yb4 {
            bottom: 415.102987px;
        }

        .yd4 {
            bottom: 415.158102px;
        }

        .y74 {
            bottom: 415.779538px;
        }

        .y9d {
            bottom: 415.990121px;
        }

        .y3d {
            bottom: 417.108261px;
        }

        .ye2 {
            bottom: 417.441711px;
        }

        .y16 {
            bottom: 420.495926px;
        }

        .y144 {
            bottom: 428.295529px;
        }

        .y10d {
            bottom: 429.385303px;
        }

        .yd3 {
            bottom: 429.455524px;
        }

        .y73 {
            bottom: 430.076920px;
        }

        .y9c {
            bottom: 430.287503px;
        }

        .ye1 {
            bottom: 431.739093px;
        }

        .y15 {
            bottom: 434.793307px;
        }

        .y12d {
            bottom: 440.632913px;
        }

        .y143 {
            bottom: 442.592911px;
        }

        .y10c {
            bottom: 443.682724px;
        }

        .yd2 {
            bottom: 443.752905px;
        }

        .y72 {
            bottom: 444.374301px;
        }

        .y9b {
            bottom: 444.584924px;
        }

        .y3c {
            bottom: 445.703064px;
        }

        .ye0 {
            bottom: 446.036514px;
        }

        .yb3 {
            bottom: 450.858184px;
        }

        .y12c {
            bottom: 454.930334px;
        }

        .y142 {
            bottom: 456.890332px;
        }

        .y10b {
            bottom: 457.980106px;
        }

        .yd1 {
            bottom: 458.050327px;
        }

        .y71 {
            bottom: 458.671722px;
        }

        .y9a {
            bottom: 458.882306px;
        }

        .y3b {
            bottom: 460.000446px;
        }

        .y14 {
            bottom: 463.388110px;
        }

        .ydf {
            bottom: 468.781317px;
        }

        .y141 {
            bottom: 471.187714px;
        }

        .y10a {
            bottom: 472.277527px;
        }

        .y70 {
            bottom: 472.969104px;
        }

        .y52 {
            bottom: 474.297867px;
        }

        .y11f {
            bottom: 478.400000px;
        }

        .yb2 {
            bottom: 480.763381px;
        }

        .yd0 {
            bottom: 480.795129px;
        }

        .y140 {
            bottom: 485.485135px;
        }

        .y109 {
            bottom: 486.574908px;
        }

        .y99 {
            bottom: 487.477109px;
        }

        .y3a {
            bottom: 488.595248px;
        }

        .y12b {
            bottom: 491.980334px;
        }

        .y13 {
            bottom: 491.982913px;
        }

        .yb1 {
            bottom: 495.060802px;
        }

        .yde {
            bottom: 498.686514px;
        }

        .y108 {
            bottom: 500.872330px;
        }

        .y6f {
            bottom: 501.563907px;
        }

        .y98 {
            bottom: 501.774530px;
        }

        .y39 {
            bottom: 502.892670px;
        }

        .yb0 {
            bottom: 509.358184px;
        }

        .y12a {
            bottom: 510.180334px;
        }

        .ycf {
            bottom: 510.700327px;
        }

        .ydd {
            bottom: 512.983896px;
        }

        .y12 {
            bottom: 514.727716px;
        }

        .y107 {
            bottom: 515.169711px;
        }

        .y6e {
            bottom: 515.861328px;
        }

        .y97 {
            bottom: 516.071912px;
        }

        .y38 {
            bottom: 517.190051px;
        }

        .y13f {
            bottom: 517.987714px;
        }

        .yaf {
            bottom: 523.655605px;
        }

        .yce {
            bottom: 524.997708px;
        }

        .y106 {
            bottom: 529.467133px;
        }

        .y6d {
            bottom: 530.158710px;
        }

        .y96 {
            bottom: 530.369333px;
        }

        .y37 {
            bottom: 531.487433px;
        }

        .ydc {
            bottom: 535.083896px;
        }

        .yae {
            bottom: 537.952987px;
        }

        .ycd {
            bottom: 539.295129px;
        }

        .y105 {
            bottom: 543.764514px;
        }

        .y13e {
            bottom: 544.050000px;
        }

        .y6c {
            bottom: 544.456131px;
        }

        .y11 {
            bottom: 544.632913px;
        }

        .y95 {
            bottom: 544.666714px;
        }

        .y36 {
            bottom: 545.784854px;
        }

        .yad {
            bottom: 552.250408px;
        }

        .ycc {
            bottom: 553.592511px;
        }

        .y129 {
            bottom: 556.356320px;
        }

        .y104 {
            bottom: 558.061935px;
        }

        .y6b {
            bottom: 558.753513px;
        }

        .y10 {
            bottom: 558.930334px;
        }

        .y35 {
            bottom: 560.082236px;
        }

        .ycb {
            bottom: 567.889932px;
        }

        .y128 {
            bottom: 570.653702px;
        }

        .y103 {
            bottom: 572.359317px;
        }

        .y6a {
            bottom: 573.050934px;
        }

        .y94 {
            bottom: 573.261517px;
        }

        .yac {
            bottom: 574.350408px;
        }

        .y34 {
            bottom: 574.379657px;
        }

        .yf4 {
            bottom: 580.833517px;
        }

        .yf {
            bottom: 581.030334px;
        }

        .y127 {
            bottom: 584.951123px;
        }

        .y102 {
            bottom: 586.656738px;
        }

        .y69 {
            bottom: 587.348315px;
        }

        .y93 {
            bottom: 587.558939px;
        }

        .y33 {
            bottom: 588.677039px;
        }

        .yca {
            bottom: 596.484735px;
        }

        .y101 {
            bottom: 600.954120px;
        }

        .y92 {
            bottom: 601.856320px;
        }

        .y32 {
            bottom: 602.974460px;
        }

        .ydb {
            bottom: 606.450000px;
        }

        .yc9 {
            bottom: 610.782117px;
        }

        .y126 {
            bottom: 613.545926px;
        }

        .y100 {
            bottom: 615.251501px;
        }

        .y68 {
            bottom: 615.943118px;
        }

        .y31 {
            bottom: 617.271841px;
        }

        .yc8 {
            bottom: 625.079538px;
        }

        .yc3 {
            bottom: 625.226675px;
        }

        .ye {
            bottom: 625.266714px;
        }

        .y125 {
            bottom: 627.843307px;
        }

        .yff {
            bottom: 629.548923px;
        }

        .y91 {
            bottom: 630.451123px;
        }

        .y51 {
            bottom: 631.569263px;
        }

        .y67 {
            bottom: 638.043118px;
        }

        .yc7 {
            bottom: 639.376920px;
        }

        .yd {
            bottom: 639.564136px;
        }

        .y124 {
            bottom: 642.140729px;
        }

        .y90 {
            bottom: 644.748505px;
        }

        .y30 {
            bottom: 645.866644px;
        }

        .yc6 {
            bottom: 653.674301px;
        }

        .yc {
            bottom: 653.861517px;
        }

        .y123 {
            bottom: 656.438110px;
        }

        .yfe {
            bottom: 658.143726px;
        }

        .y8f {
            bottom: 659.045926px;
        }

        .y2f {
            bottom: 660.164066px;
        }

        .yc5 {
            bottom: 667.971722px;
        }

        .y50 {
            bottom: 668.611487px;
        }

        .yfd {
            bottom: 672.441107px;
        }

        .y8e {
            bottom: 673.343347px;
        }

        .y2e {
            bottom: 674.461487px;
        }

        .y66 {
            bottom: 682.269104px;
        }

        .yb {
            bottom: 682.456281px;
        }

        .y122 {
            bottom: 685.032953px;
        }

        .yfc {
            bottom: 686.738489px;
        }

        .y8d {
            bottom: 687.640729px;
        }

        .y2d {
            bottom: 688.758868px;
        }

        .y65 {
            bottom: 696.566486px;
        }

        .ya {
            bottom: 696.753741px;
        }

        .y4f {
            bottom: 698.516644px;
        }

        .y121 {
            bottom: 699.330334px;
        }

        .yfb {
            bottom: 701.035950px;
        }

        .y8c {
            bottom: 701.938110px;
        }

        .y64 {
            bottom: 710.863947px;
        }

        .y9 {
            bottom: 711.051123px;
        }

        .y2c {
            bottom: 711.503632px;
        }

        .y4e {
            bottom: 712.814026px;
        }

        .y8b {
            bottom: 716.235492px;
        }

        .yfa {
            bottom: 723.780713px;
        }

        .y63 {
            bottom: 725.161328px;
        }

        .y4d {
            bottom: 727.111487px;
        }

        .y120 {
            bottom: 736.380334px;
        }

        .y62 {
            bottom: 739.458710px;
        }

        .y8 {
            bottom: 739.645886px;
        }

        .y2b {
            bottom: 741.408868px;
        }

        .y8a {
            bottom: 744.830334px;
        }

        .yf9 {
            bottom: 753.685950px;
        }

        .y61 {
            bottom: 753.756091px;
        }

        .y7 {
            bottom: 753.943347px;
        }

        .y2a {
            bottom: 755.706250px;
        }

        .y89 {
            bottom: 766.930334px;
        }

        .y60 {
            bottom: 768.053552px;
        }

        .y6 {
            bottom: 768.240729px;
        }

        .y29 {
            bottom: 770.003632px;
        }

        .yf8 {
            bottom: 782.280713px;
        }

        .y5f {
            bottom: 782.350934px;
        }

        .y5 {
            bottom: 782.538110px;
        }

        .y28 {
            bottom: 784.301013px;
        }

        .yf7 {
            bottom: 796.578094px;
        }

        .y5e {
            bottom: 796.648315px;
        }

        .y4 {
            bottom: 796.835492px;
        }

        .y27 {
            bottom: 798.598474px;
        }

        .yf6 {
            bottom: 810.875555px;
        }

        .y5d {
            bottom: 810.945697px;
        }

        .y3 {
            bottom: 811.132953px;
        }

        .y26 {
            bottom: 820.698474px;
        }

        .yf5 {
            bottom: 825.172937px;
        }

        .y5c {
            bottom: 825.243158px;
        }

        .y2 {
            bottom: 825.430334px;
        }

        .y0 {
            bottom: 859.479559px;
        }

        .h1 {
            height: 23.296000px;
        }

        .ha {
            height: 25.344000px;
        }

        .h4 {
            height: 26.892000px;
        }

        .h3 {
            height: 28.404000px;
        }

        .h5 {
            height: 28.440000px;
        }

        .h9 {
            height: 29.120000px;
        }

        .h2 {
            height: 29.880000px;
        }

        .hb {
            height: 31.850000px;
        }

        .h6 {
            height: 40.768000px;
        }

        .h7 {
            height: 41.832000px;
        }

        .hc {
            height: 227.500000px;
        }

        .hd {
            height: 280.800000px;
        }

        .he {
            height: 289.900000px;
        }

        .h8 {
            height: 575.900000px;
        }

        .h0 {
            height: 936.000000px;
        }

        .w2 {
            width: 535.600000px;
        }

        .w1 {
            width: 538.200000px;
        }

        .w0 {
            width: 655.200000px;
        }

        .x4 {
            left: 46.800000px;
        }

        .x7 {
            left: 48.100000px;
        }

        .x5 {
            left: 56.692872px;
        }

        .x3 {
            left: 70.200000px;
        }

        .x8 {
            left: 71.500000px;
        }

        .x2 {
            left: 93.600000px;
        }

        .x0 {
            left: 449.541809px;
        }

        .x6 {
            left: 595.141293px;
        }

        .x1 {
            left: 596.177390px;
        }

        @media print {
            .v0 {
                vertical-align: 0.000000pt;
            }

            .ls1 {
                letter-spacing: -2.461538pt;
            }

            .ls3 {
                letter-spacing: -1.148718pt;
            }

            .ls6 {
                letter-spacing: -0.902564pt;
            }

            .lsb {
                letter-spacing: -0.738462pt;
            }

            .ls4 {
                letter-spacing: -0.697436pt;
            }

            .ls2 {
                letter-spacing: -0.258462pt;
            }

            .ls0 {
                letter-spacing: 0.000000pt;
            }

            .lsc {
                letter-spacing: 0.246154pt;
            }

            .ls7 {
                letter-spacing: 0.287179pt;
            }

            .ls5 {
                letter-spacing: 0.492308pt;
            }

            .lsa {
                letter-spacing: 0.533333pt;
            }

            .ls9 {
                letter-spacing: 0.697436pt;
            }

            .ls8 {
                letter-spacing: 0.820513pt;
            }

            .ws7 {
                word-spacing: -13.784615pt;
            }

            .ws6 {
                word-spacing: -11.831795pt;
            }

            .ws1 {
                word-spacing: -1.214359pt;
            }

            .wsb {
                word-spacing: -0.820513pt;
            }

            .wsc {
                word-spacing: -0.697436pt;
            }

            .wsd {
                word-spacing: -0.533333pt;
            }

            .ws8 {
                word-spacing: -0.492308pt;
            }

            .wsa {
                word-spacing: -0.287179pt;
            }

            .wsf {
                word-spacing: -0.246154pt;
            }

            .ws0 {
                word-spacing: 0.000000pt;
            }

            .ws3 {
                word-spacing: 0.258462pt;
            }

            .ws5 {
                word-spacing: 0.697436pt;
            }

            .wse {
                word-spacing: 0.738462pt;
            }

            .ws9 {
                word-spacing: 0.902564pt;
            }

            .ws4 {
                word-spacing: 1.148718pt;
            }

            .ws2 {
                word-spacing: 2.461538pt;
            }

            ._a {
                margin-left: -41.066669pt;
            }

            ._7 {
                margin-left: -18.461538pt;
            }

            ._3 {
                margin-left: -13.784615pt;
            }

            ._6 {
                margin-left: -11.831795pt;
            }

            ._4 {
                margin-left: -4.594872pt;
            }

            ._2 {
                margin-left: -3.064618pt;
            }

            ._1 {
                margin-left: -1.698462pt;
            }

            ._0 {
                width: 1.214455pt;
            }

            ._b {
                width: 9.846147pt;
            }

            ._5 {
                width: 10.966160pt;
            }

            ._8 {
                width: 12.267074pt;
            }

            ._9 {
                width: 13.784208pt;
            }

            ._c {
                width: 29.661539pt;
            }

            ._d {
                width: 31.441965pt;
            }

            .fs0 {
                font-size: 32.820513pt;
            }

            .fs2 {
                font-size: 36.923077pt;
            }

            .fs1 {
                font-size: 41.025641pt;
            }

            .fs3 {
                font-size: 57.435897pt;
            }

            .y1 {
                bottom: 72.000000pt;
            }

            .y156 {
                bottom: 98.613332pt;
            }

            .y88 {
                bottom: 103.832530pt;
            }

            .y5b {
                bottom: 110.427338pt;
            }

            .yc2 {
                bottom: 113.098653pt;
            }

            .y155 {
                bottom: 113.277334pt;
            }

            .y87 {
                bottom: 118.496531pt;
            }

            .y5a {
                bottom: 125.091329pt;
            }

            .yc1 {
                bottom: 127.762655pt;
            }

            .y154 {
                bottom: 127.941335pt;
            }

            .y11e {
                bottom: 132.451202pt;
            }

            .y86 {
                bottom: 133.160533pt;
            }

            .yf3 {
                bottom: 134.865336pt;
            }

            .y59 {
                bottom: 139.755330pt;
            }

            .yc0 {
                bottom: 142.426656pt;
            }

            .y153 {
                bottom: 142.605337pt;
            }

            .y11d {
                bottom: 147.115204pt;
            }

            .y85 {
                bottom: 147.824534pt;
            }

            .yf2 {
                bottom: 149.529338pt;
            }

            .y58 {
                bottom: 154.419332pt;
            }

            .ybf {
                bottom: 157.090658pt;
            }

            .y11c {
                bottom: 161.779195pt;
            }

            .y4c {
                bottom: 163.851329pt;
            }

            .yf1 {
                bottom: 164.193329pt;
            }

            .y152 {
                bottom: 165.933329pt;
            }

            .y25 {
                bottom: 167.325867pt;
            }

            .y57 {
                bottom: 169.083333pt;
            }

            .ybe {
                bottom: 171.754649pt;
            }

            .y84 {
                bottom: 177.152527pt;
            }

            .y4b {
                bottom: 178.515340pt;
            }

            .y24 {
                bottom: 181.989868pt;
            }

            .ybd {
                bottom: 186.418650pt;
            }

            .y13d {
                bottom: 187.979207pt;
            }

            .y11b {
                bottom: 191.107198pt;
            }

            .y83 {
                bottom: 191.816528pt;
            }

            .yf0 {
                bottom: 193.521342pt;
            }

            .y151 {
                bottom: 196.605326pt;
            }

            .y23 {
                bottom: 196.653870pt;
            }

            .y56 {
                bottom: 198.411336pt;
            }

            .ybc {
                bottom: 201.082652pt;
            }

            .y13c {
                bottom: 202.643209pt;
            }

            .y11a {
                bottom: 205.771200pt;
            }

            .y82 {
                bottom: 206.480530pt;
            }

            .yaa {
                bottom: 206.696533pt;
            }

            .y4a {
                bottom: 207.843343pt;
            }

            .yef {
                bottom: 208.185343pt;
            }

            .y150 {
                bottom: 211.269328pt;
            }

            .y22 {
                bottom: 211.317871pt;
            }

            .y55 {
                bottom: 213.075338pt;
            }

            .y13b {
                bottom: 217.307190pt;
            }

            .y119 {
                bottom: 220.435201pt;
            }

            .y81 {
                bottom: 221.144531pt;
            }

            .ya9 {
                bottom: 221.360535pt;
            }

            .y49 {
                bottom: 222.507324pt;
            }

            .yee {
                bottom: 222.849325pt;
            }

            .ybb {
                bottom: 224.410655pt;
            }

            .y14f {
                bottom: 225.933329pt;
            }

            .y21 {
                bottom: 225.981873pt;
            }

            .y13a {
                bottom: 231.971191pt;
            }

            .y118 {
                bottom: 235.099202pt;
            }

            .y54 {
                bottom: 235.742004pt;
            }

            .y80 {
                bottom: 235.808533pt;
            }

            .ya8 {
                bottom: 236.024536pt;
            }

            .y48 {
                bottom: 237.171326pt;
            }

            .y14e {
                bottom: 240.597331pt;
            }

            .y20 {
                bottom: 240.645874pt;
            }

            .y139 {
                bottom: 246.635193pt;
            }

            .y117 {
                bottom: 249.763204pt;
            }

            .y7f {
                bottom: 250.472534pt;
            }

            .y47 {
                bottom: 251.835327pt;
            }

            .yed {
                bottom: 252.177327pt;
            }

            .y1f {
                bottom: 255.309875pt;
            }

            .y138 {
                bottom: 261.299194pt;
            }

            .yda {
                bottom: 262.471191pt;
            }

            .y14d {
                bottom: 263.263997pt;
            }

            .y116 {
                bottom: 264.427205pt;
            }

            .yab {
                bottom: 264.666667pt;
            }

            .y7e {
                bottom: 265.136536pt;
            }

            .ya7 {
                bottom: 265.352539pt;
            }

            .y46 {
                bottom: 266.499329pt;
            }

            .yec {
                bottom: 266.841329pt;
            }

            .y137 {
                bottom: 275.963196pt;
            }

            .yd9 {
                bottom: 277.135193pt;
            }

            .yba {
                bottom: 278.410655pt;
            }

            .y7d {
                bottom: 279.800537pt;
            }

            .ya6 {
                bottom: 280.016541pt;
            }

            .y45 {
                bottom: 281.163330pt;
            }

            .yeb {
                bottom: 281.505330pt;
            }

            .y1e {
                bottom: 284.637858pt;
            }

            .y136 {
                bottom: 290.627197pt;
            }

            .y115 {
                bottom: 293.755208pt;
            }

            .y7c {
                bottom: 294.464539pt;
            }

            .ya5 {
                bottom: 294.680542pt;
            }

            .yea {
                bottom: 296.169332pt;
            }

            .yb9 {
                bottom: 297.077321pt;
            }

            .y1d {
                bottom: 299.301860pt;
            }

            .yc4 {
                bottom: 302.000000pt;
            }

            .y135 {
                bottom: 305.291199pt;
            }

            .y14c {
                bottom: 307.301473pt;
            }

            .y114 {
                bottom: 308.419210pt;
            }

            .y7b {
                bottom: 309.128540pt;
            }

            .y44 {
                bottom: 310.491333pt;
            }

            .ye9 {
                bottom: 310.833333pt;
            }

            .y1c {
                bottom: 313.965861pt;
            }

            .yd8 {
                bottom: 314.467204pt;
            }

            .y134 {
                bottom: 319.955200pt;
            }

            .y14b {
                bottom: 321.965474pt;
            }

            .y113 {
                bottom: 323.083191pt;
            }

            .y7a {
                bottom: 323.792541pt;
            }

            .ya4 {
                bottom: 324.008525pt;
            }

            .y43 {
                bottom: 325.155334pt;
            }

            .ye8 {
                bottom: 325.497335pt;
            }

            .y1b {
                bottom: 328.629862pt;
            }

            .y14a {
                bottom: 336.629476pt;
            }

            .y79 {
                bottom: 338.456543pt;
            }

            .ya3 {
                bottom: 338.672526pt;
            }

            .y53 {
                bottom: 339.819336pt;
            }

            .ye7 {
                bottom: 340.161336pt;
            }

            .yb8 {
                bottom: 344.422638pt;
            }

            .y133 {
                bottom: 349.283203pt;
            }

            .yd7 {
                bottom: 351.139201pt;
            }

            .y149 {
                bottom: 351.293457pt;
            }

            .y112 {
                bottom: 352.411214pt;
            }

            .y78 {
                bottom: 353.120524pt;
            }

            .ya2 {
                bottom: 353.336548pt;
            }

            .y42 {
                bottom: 354.483317pt;
            }

            .ye6 {
                bottom: 354.825317pt;
            }

            .y1a {
                bottom: 357.957886pt;
            }

            .yb7 {
                bottom: 359.086660pt;
            }

            .y132 {
                bottom: 363.947184pt;
            }

            .y148 {
                bottom: 365.957479pt;
            }

            .y111 {
                bottom: 367.075195pt;
            }

            .ya1 {
                bottom: 368.000529pt;
            }

            .y41 {
                bottom: 369.147339pt;
            }

            .ye5 {
                bottom: 369.489339pt;
            }

            .y19 {
                bottom: 372.621867pt;
            }

            .yb6 {
                bottom: 373.750641pt;
            }

            .y131 {
                bottom: 378.611206pt;
            }

            .y147 {
                bottom: 380.621460pt;
            }

            .y110 {
                bottom: 381.739217pt;
            }

            .yd6 {
                bottom: 381.811198pt;
            }

            .y77 {
                bottom: 382.448527pt;
            }

            .ya0 {
                bottom: 382.664551pt;
            }

            .y40 {
                bottom: 383.811320pt;
            }

            .ye4 {
                bottom: 384.153320pt;
            }

            .y18 {
                bottom: 387.285848pt;
            }

            .yb5 {
                bottom: 388.414663pt;
            }

            .y130 {
                bottom: 393.275187pt;
            }

            .y146 {
                bottom: 395.285482pt;
            }

            .y10f {
                bottom: 396.403198pt;
            }

            .yd5 {
                bottom: 396.475220pt;
            }

            .y76 {
                bottom: 397.112549pt;
            }

            .y9f {
                bottom: 397.328532pt;
            }

            .y3f {
                bottom: 398.475342pt;
            }

            .ye3 {
                bottom: 398.817342pt;
            }

            .y12f {
                bottom: 407.939209pt;
            }

            .y10e {
                bottom: 411.067220pt;
            }

            .y75 {
                bottom: 411.776530pt;
            }

            .y9e {
                bottom: 411.992513pt;
            }

            .y3e {
                bottom: 413.139323pt;
            }

            .y17 {
                bottom: 416.613851pt;
            }

            .y12e {
                bottom: 422.603190pt;
            }

            .y145 {
                bottom: 424.613485pt;
            }

            .yb4 {
                bottom: 425.746653pt;
            }

            .yd4 {
                bottom: 425.803182pt;
            }

            .y74 {
                bottom: 426.440552pt;
            }

            .y9d {
                bottom: 426.656535pt;
            }

            .y3d {
                bottom: 427.803345pt;
            }

            .ye2 {
                bottom: 428.145345pt;
            }

            .y16 {
                bottom: 431.277873pt;
            }

            .y144 {
                bottom: 439.277466pt;
            }

            .y10d {
                bottom: 440.395182pt;
            }

            .yd3 {
                bottom: 440.467204pt;
            }

            .y73 {
                bottom: 441.104533pt;
            }

            .y9c {
                bottom: 441.320516pt;
            }

            .ye1 {
                bottom: 442.809326pt;
            }

            .y15 {
                bottom: 445.941854pt;
            }

            .y12d {
                bottom: 451.931193pt;
            }

            .y143 {
                bottom: 453.941447pt;
            }

            .y10c {
                bottom: 455.059204pt;
            }

            .yd2 {
                bottom: 455.131185pt;
            }

            .y72 {
                bottom: 455.768514pt;
            }

            .y9b {
                bottom: 455.984538pt;
            }

            .y3c {
                bottom: 457.131348pt;
            }

            .ye0 {
                bottom: 457.473348pt;
            }

            .yb3 {
                bottom: 462.418650pt;
            }

            .y12c {
                bottom: 466.595215pt;
            }

            .y142 {
                bottom: 468.605469pt;
            }

            .y10b {
                bottom: 469.723185pt;
            }

            .yd1 {
                bottom: 469.795207pt;
            }

            .y71 {
                bottom: 470.432536pt;
            }

            .y9a {
                bottom: 470.648519pt;
            }

            .y3b {
                bottom: 471.795329pt;
            }

            .y14 {
                bottom: 475.269857pt;
            }

            .ydf {
                bottom: 480.801351pt;
            }

            .y141 {
                bottom: 483.269450pt;
            }

            .y10a {
                bottom: 484.387207pt;
            }

            .y70 {
                bottom: 485.096517pt;
            }

            .y52 {
                bottom: 486.459351pt;
            }

            .y11f {
                bottom: 490.666667pt;
            }

            .yb2 {
                bottom: 493.090647pt;
            }

            .yd0 {
                bottom: 493.123210pt;
            }

            .y140 {
                bottom: 497.933472pt;
            }

            .y109 {
                bottom: 499.051188pt;
            }

            .y99 {
                bottom: 499.976522pt;
            }

            .y3a {
                bottom: 501.123332pt;
            }

            .y12b {
                bottom: 504.595215pt;
            }

            .y13 {
                bottom: 504.597860pt;
            }

            .yb1 {
                bottom: 507.754669pt;
            }

            .yde {
                bottom: 511.473348pt;
            }

            .y108 {
                bottom: 513.715210pt;
            }

            .y6f {
                bottom: 514.424520pt;
            }

            .y98 {
                bottom: 514.640544pt;
            }

            .y39 {
                bottom: 515.787354pt;
            }

            .yb0 {
                bottom: 522.418650pt;
            }

            .y12a {
                bottom: 523.261882pt;
            }

            .ycf {
                bottom: 523.795207pt;
            }

            .ydd {
                bottom: 526.137329pt;
            }

            .y12 {
                bottom: 527.925863pt;
            }

            .y107 {
                bottom: 528.379191pt;
            }

            .y6e {
                bottom: 529.088542pt;
            }

            .y97 {
                bottom: 529.304525pt;
            }

            .y38 {
                bottom: 530.451335pt;
            }

            .y13f {
                bottom: 531.269450pt;
            }

            .yaf {
                bottom: 537.082672pt;
            }

            .yce {
                bottom: 538.459188pt;
            }

            .y106 {
                bottom: 543.043213pt;
            }

            .y6d {
                bottom: 543.752523pt;
            }

            .y96 {
                bottom: 543.968547pt;
            }

            .y37 {
                bottom: 545.115316pt;
            }

            .ydc {
                bottom: 548.803996pt;
            }

            .yae {
                bottom: 551.746653pt;
            }

            .ycd {
                bottom: 553.123210pt;
            }

            .y105 {
                bottom: 557.707194pt;
            }

            .y13e {
                bottom: 558.000000pt;
            }

            .y6c {
                bottom: 558.416545pt;
            }

            .y11 {
                bottom: 558.597860pt;
            }

            .y95 {
                bottom: 558.632528pt;
            }

            .y36 {
                bottom: 559.779338pt;
            }

            .yad {
                bottom: 566.410675pt;
            }

            .ycc {
                bottom: 567.787191pt;
            }

            .y129 {
                bottom: 570.621867pt;
            }

            .y104 {
                bottom: 572.371216pt;
            }

            .y6b {
                bottom: 573.080526pt;
            }

            .y10 {
                bottom: 573.261882pt;
            }

            .y35 {
                bottom: 574.443319pt;
            }

            .ycb {
                bottom: 582.451213pt;
            }

            .y128 {
                bottom: 585.285848pt;
            }

            .y103 {
                bottom: 587.035197pt;
            }

            .y6a {
                bottom: 587.744548pt;
            }

            .y94 {
                bottom: 587.960531pt;
            }

            .yac {
                bottom: 589.077342pt;
            }

            .y34 {
                bottom: 589.107340pt;
            }

            .yf4 {
                bottom: 595.726685pt;
            }

            .yf {
                bottom: 595.928548pt;
            }

            .y127 {
                bottom: 599.949870pt;
            }

            .y102 {
                bottom: 601.699219pt;
            }

            .y69 {
                bottom: 602.408529pt;
            }

            .y93 {
                bottom: 602.624552pt;
            }

            .y33 {
                bottom: 603.771322pt;
            }

            .yca {
                bottom: 611.779215pt;
            }

            .y101 {
                bottom: 616.363200pt;
            }

            .y92 {
                bottom: 617.288534pt;
            }

            .y32 {
                bottom: 618.435343pt;
            }

            .ydb {
                bottom: 622.000000pt;
            }

            .yc9 {
                bottom: 626.443197pt;
            }

            .y126 {
                bottom: 629.277873pt;
            }

            .y100 {
                bottom: 631.027181pt;
            }

            .y68 {
                bottom: 631.736532pt;
            }

            .y31 {
                bottom: 633.099325pt;
            }

            .yc8 {
                bottom: 641.107218pt;
            }

            .yc3 {
                bottom: 641.258128pt;
            }

            .ye {
                bottom: 641.299194pt;
            }

            .y125 {
                bottom: 643.941854pt;
            }

            .yff {
                bottom: 645.691203pt;
            }

            .y91 {
                bottom: 646.616536pt;
            }

            .y51 {
                bottom: 647.763346pt;
            }

            .y67 {
                bottom: 654.403198pt;
            }

            .yc7 {
                bottom: 655.771200pt;
            }

            .yd {
                bottom: 655.963216pt;
            }

            .y124 {
                bottom: 658.605876pt;
            }

            .y90 {
                bottom: 661.280518pt;
            }

            .y30 {
                bottom: 662.427327pt;
            }

            .yc6 {
                bottom: 670.435181pt;
            }

            .yc {
                bottom: 670.627197pt;
            }

            .y123 {
                bottom: 673.269857pt;
            }

            .yfe {
                bottom: 675.019206pt;
            }

            .y8f {
                bottom: 675.944539pt;
            }

            .y2f {
                bottom: 677.091349pt;
            }

            .yc5 {
                bottom: 685.099202pt;
            }

            .y50 {
                bottom: 685.755371pt;
            }

            .yfd {
                bottom: 689.683187pt;
            }

            .y8e {
                bottom: 690.608561pt;
            }

            .y2e {
                bottom: 691.755371pt;
            }

            .y66 {
                bottom: 699.763184pt;
            }

            .yb {
                bottom: 699.955159pt;
            }

            .y122 {
                bottom: 702.597900pt;
            }

            .yfc {
                bottom: 704.347168pt;
            }

            .y8d {
                bottom: 705.272542pt;
            }

            .y2d {
                bottom: 706.419352pt;
            }

            .y65 {
                bottom: 714.427165pt;
            }

            .ya {
                bottom: 714.619222pt;
            }

            .y4f {
                bottom: 716.427327pt;
            }

            .y121 {
                bottom: 717.261882pt;
            }

            .yfb {
                bottom: 719.011230pt;
            }

            .y8c {
                bottom: 719.936523pt;
            }

            .y64 {
                bottom: 729.091227pt;
            }

            .y9 {
                bottom: 729.283203pt;
            }

            .y2c {
                bottom: 729.747314pt;
            }

            .y4e {
                bottom: 731.091309pt;
            }

            .y8b {
                bottom: 734.600505pt;
            }

            .yfa {
                bottom: 742.339193pt;
            }

            .y63 {
                bottom: 743.755208pt;
            }

            .y4d {
                bottom: 745.755371pt;
            }

            .y120 {
                bottom: 755.261882pt;
            }

            .y62 {
                bottom: 758.419189pt;
            }

            .y8 {
                bottom: 758.611165pt;
            }

            .y2b {
                bottom: 760.419352pt;
            }

            .y8a {
                bottom: 763.928548pt;
            }

            .yf9 {
                bottom: 773.011230pt;
            }

            .y61 {
                bottom: 773.083171pt;
            }

            .y7 {
                bottom: 773.275228pt;
            }

            .y2a {
                bottom: 775.083333pt;
            }

            .y89 {
                bottom: 786.595215pt;
            }

            .y60 {
                bottom: 787.747233pt;
            }

            .y6 {
                bottom: 787.939209pt;
            }

            .y29 {
                bottom: 789.747314pt;
            }

            .yf8 {
                bottom: 802.339193pt;
            }

            .y5f {
                bottom: 802.411214pt;
            }

            .y5 {
                bottom: 802.603190pt;
            }

            .y28 {
                bottom: 804.411296pt;
            }

            .yf7 {
                bottom: 817.003174pt;
            }

            .y5e {
                bottom: 817.075195pt;
            }

            .y4 {
                bottom: 817.267171pt;
            }

            .y27 {
                bottom: 819.075358pt;
            }

            .yf6 {
                bottom: 831.667236pt;
            }

            .y5d {
                bottom: 831.739176pt;
            }

            .y3 {
                bottom: 831.931234pt;
            }

            .y26 {
                bottom: 841.742025pt;
            }

            .yf5 {
                bottom: 846.331217pt;
            }

            .y5c {
                bottom: 846.403239pt;
            }

            .y2 {
                bottom: 846.595215pt;
            }

            .y0 {
                bottom: 881.517497pt;
            }

            .h1 {
                height: 23.893333pt;
            }

            .ha {
                height: 25.993846pt;
            }

            .h4 {
                height: 27.581538pt;
            }

            .h3 {
                height: 29.132308pt;
            }

            .h5 {
                height: 29.169231pt;
            }

            .h9 {
                height: 29.866667pt;
            }

            .h2 {
                height: 30.646154pt;
            }

            .hb {
                height: 32.666667pt;
            }

            .h6 {
                height: 41.813333pt;
            }

            .h7 {
                height: 42.904615pt;
            }

            .hc {
                height: 233.333333pt;
            }

            .hd {
                height: 288.000000pt;
            }

            .he {
                height: 297.333333pt;
            }

            .h8 {
                height: 590.666667pt;
            }

            .h0 {
                height: 960.000000pt;
            }

            .w2 {
                width: 549.333333pt;
            }

            .w1 {
                width: 552.000000pt;
            }

            .w0 {
                width: 672.000000pt;
            }

            .x4 {
                left: 48.000000pt;
            }

            .x7 {
                left: 49.333333pt;
            }

            .x5 {
                left: 58.146535pt;
            }

            .x3 {
                left: 72.000000pt;
            }

            .x8 {
                left: 73.333333pt;
            }

            .x2 {
                left: 96.000000pt;
            }

            .x0 {
                left: 461.068522pt;
            }

            .x6 {
                left: 610.401326pt;
            }

            .x1 {
                left: 611.463989pt;
            }
        }
    </style>
    <script>
        /* -*- Mode: Java; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
        /* vim: set shiftwidth=2 tabstop=2 autoindent cindent expandtab: */
        /* Copyright 2012 Mozilla Foundation
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
        /* globals VBArray, PDFJS */

        'use strict';

        // Initializing PDFJS global object here, it case if we need to change/disable
        // some PDF.js features, e.g. range requests
        if (typeof PDFJS === 'undefined') {
            (typeof window !== 'undefined' ? window : this).PDFJS = {};
        }

        // Checking if the typed arrays are supported
        // Support: iOS<6.0 (subarray), IE<10, Android<4.0
        (function checkTypedArrayCompatibility() {
            if (typeof Uint8Array !== 'undefined') {
                // Support: iOS<6.0
                if (typeof Uint8Array.prototype.subarray === 'undefined') {
                    Uint8Array.prototype.subarray = function subarray(start, end) {
                        return new Uint8Array(this.slice(start, end));
                    };
                    Float32Array.prototype.subarray = function subarray(start, end) {
                        return new Float32Array(this.slice(start, end));
                    };
                }

                // Support: Android<4.1
                if (typeof Float64Array === 'undefined') {
                    window.Float64Array = Float32Array;
                }
                return;
            }

            function subarray(start, end) {
                return new TypedArray(this.slice(start, end));
            }

            function setArrayOffset(array, offset) {
                if (arguments.length < 2) {
                    offset = 0;
                }
                for (var i = 0, n = array.length; i < n; ++i, ++offset) {
                    this[offset] = array[i] & 0xFF;
                }
            }

            function TypedArray(arg1) {
                var result, i, n;
                if (typeof arg1 === 'number') {
                    result = [];
                    for (i = 0; i < arg1; ++i) {
                        result[i] = 0;
                    }
                } else if ('slice' in arg1) {
                    result = arg1.slice(0);
                } else {
                    result = [];
                    for (i = 0, n = arg1.length; i < n; ++i) {
                        result[i] = arg1[i];
                    }
                }

                result.subarray = subarray;
                result.buffer = result;
                result.byteLength = result.length;
                result.set = setArrayOffset;

                if (typeof arg1 === 'object' && arg1.buffer) {
                    result.buffer = arg1.buffer;
                }
                return result;
            }

            window.Uint8Array = TypedArray;
            window.Int8Array = TypedArray;

            // we don't need support for set, byteLength for 32-bit array
            // so we can use the TypedArray as well
            window.Uint32Array = TypedArray;
            window.Int32Array = TypedArray;
            window.Uint16Array = TypedArray;
            window.Float32Array = TypedArray;
            window.Float64Array = TypedArray;
        })();

        // URL = URL || webkitURL
        // Support: Safari<7, Android 4.2+
        (function normalizeURLObject() {
            if (!window.URL) {
                window.URL = window.webkitURL;
            }
        })();

        // Object.defineProperty()?
        // Support: Android<4.0, Safari<5.1
        (function checkObjectDefinePropertyCompatibility() {
            if (typeof Object.defineProperty !== 'undefined') {
                var definePropertyPossible = true;
                try {
                    // some browsers (e.g. safari) cannot use defineProperty() on DOM objects
                    // and thus the native version is not sufficient
                    Object.defineProperty(new Image(), 'id', {value: 'test'});
                    // ... another test for android gb browser for non-DOM objects
                    var Test = function Test() {
                    };
                    Test.prototype = {
                        get id() {
                        }
                    };
                    Object.defineProperty(new Test(), 'id',
                        {value: '', configurable: true, enumerable: true, writable: false});
                } catch (e) {
                    definePropertyPossible = false;
                }
                if (definePropertyPossible) {
                    return;
                }
            }

            Object.defineProperty = function objectDefineProperty(obj, name, def) {
                delete obj[name];
                if ('get' in def) {
                    obj.__defineGetter__(name, def['get']);
                }
                if ('set' in def) {
                    obj.__defineSetter__(name, def['set']);
                }
                if ('value' in def) {
                    obj.__defineSetter__(name, function objectDefinePropertySetter(value) {
                        this.__defineGetter__(name, function objectDefinePropertyGetter() {
                            return value;
                        });
                        return value;
                    });
                    obj[name] = def.value;
                }
            };
        })();


        // No XMLHttpRequest#response?
        // Support: IE<11, Android <4.0
        (function checkXMLHttpRequestResponseCompatibility() {
            var xhrPrototype = XMLHttpRequest.prototype;
            var xhr = new XMLHttpRequest();
            if (!('overrideMimeType' in xhr)) {
                // IE10 might have response, but not overrideMimeType
                // Support: IE10
                Object.defineProperty(xhrPrototype, 'overrideMimeType', {
                    value: function xmlHttpRequestOverrideMimeType(mimeType) {
                    }
                });
            }
            if ('responseType' in xhr) {
                return;
            }

            // The worker will be using XHR, so we can save time and disable worker.
            PDFJS.disableWorker = true;

            Object.defineProperty(xhrPrototype, 'responseType', {
                get: function xmlHttpRequestGetResponseType() {
                    return this._responseType || 'text';
                },
                set: function xmlHttpRequestSetResponseType(value) {
                    if (value === 'text' || value === 'arraybuffer') {
                        this._responseType = value;
                        if (value === 'arraybuffer' &&
                            typeof this.overrideMimeType === 'function') {
                            this.overrideMimeType('text/plain; charset=x-user-defined');
                        }
                    }
                }
            });

            // Support: IE9
            if (typeof VBArray !== 'undefined') {
                Object.defineProperty(xhrPrototype, 'response', {
                    get: function xmlHttpRequestResponseGet() {
                        if (this.responseType === 'arraybuffer') {
                            return new Uint8Array(new VBArray(this.responseBody).toArray());
                        } else {
                            return this.responseText;
                        }
                    }
                });
                return;
            }

            Object.defineProperty(xhrPrototype, 'response', {
                get: function xmlHttpRequestResponseGet() {
                    if (this.responseType !== 'arraybuffer') {
                        return this.responseText;
                    }
                    var text = this.responseText;
                    var i, n = text.length;
                    var result = new Uint8Array(n);
                    for (i = 0; i < n; ++i) {
                        result[i] = text.charCodeAt(i) & 0xFF;
                    }
                    return result.buffer;
                }
            });
        })();

        // window.btoa (base64 encode function) ?
        // Support: IE<10
        (function checkWindowBtoaCompatibility() {
            if ('btoa' in window) {
                return;
            }

            var digits =
                'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';

            window.btoa = function windowBtoa(chars) {
                var buffer = '';
                var i, n;
                for (i = 0, n = chars.length; i < n; i += 3) {
                    var b1 = chars.charCodeAt(i) & 0xFF;
                    var b2 = chars.charCodeAt(i + 1) & 0xFF;
                    var b3 = chars.charCodeAt(i + 2) & 0xFF;
                    var d1 = b1 >> 2, d2 = ((b1 & 3) << 4) | (b2 >> 4);
                    var d3 = i + 1 < n ? ((b2 & 0xF) << 2) | (b3 >> 6) : 64;
                    var d4 = i + 2 < n ? (b3 & 0x3F) : 64;
                    buffer += (digits.charAt(d1) + digits.charAt(d2) +
                        digits.charAt(d3) + digits.charAt(d4));
                }
                return buffer;
            };
        })();

        // window.atob (base64 encode function)?
        // Support: IE<10
        (function checkWindowAtobCompatibility() {
            if ('atob' in window) {
                return;
            }

            // https://github.com/davidchambers/Base64.js
            var digits =
                'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
            window.atob = function (input) {
                input = input.replace(/=+$/, '');
                if (input.length % 4 === 1) {
                    throw new Error('bad atob input');
                }
                for (
                    // initialize result and counters
                    var bc = 0, bs, buffer, idx = 0, output = '';
                    // get next character
                    buffer = input.charAt(idx++);
                    // character found in table?
                    // initialize bit storage and add its ascii value
                    ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,
                        // and if not first of each 4 characters,
                        // convert the first 8 bits to one ascii character
                    bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0
                ) {
                    // try to find character in table (0-63, not found => -1)
                    buffer = digits.indexOf(buffer);
                }
                return output;
            };
        })();

        // Function.prototype.bind?
        // Support: Android<4.0, iOS<6.0
        (function checkFunctionPrototypeBindCompatibility() {
            if (typeof Function.prototype.bind !== 'undefined') {
                return;
            }

            Function.prototype.bind = function functionPrototypeBind(obj) {
                var fn = this, headArgs = Array.prototype.slice.call(arguments, 1);
                var bound = function functionPrototypeBindBound() {
                    var args = headArgs.concat(Array.prototype.slice.call(arguments));
                    return fn.apply(obj, args);
                };
                return bound;
            };
        })();

        // HTMLElement dataset property
        // Support: IE<11, Safari<5.1, Android<4.0
        (function checkDatasetProperty() {
            var div = document.createElement('div');
            if ('dataset' in div) {
                return; // dataset property exists
            }

            Object.defineProperty(HTMLElement.prototype, 'dataset', {
                get: function () {
                    if (this._dataset) {
                        return this._dataset;
                    }

                    var dataset = {};
                    for (var j = 0, jj = this.attributes.length; j < jj; j++) {
                        var attribute = this.attributes[j];
                        if (attribute.name.substring(0, 5) !== 'data-') {
                            continue;
                        }
                        var key = attribute.name.substring(5).replace(/\-([a-z])/g,
                            function (all, ch) {
                                return ch.toUpperCase();
                            });
                        dataset[key] = attribute.value;
                    }

                    Object.defineProperty(this, '_dataset', {
                        value: dataset,
                        writable: false,
                        enumerable: false
                    });
                    return dataset;
                },
                enumerable: true
            });
        })();

        // HTMLElement classList property
        // Support: IE<10, Android<4.0, iOS<5.0
        (function checkClassListProperty() {
            var div = document.createElement('div');
            if ('classList' in div) {
                return; // classList property exists
            }

            function changeList(element, itemName, add, remove) {
                var s = element.className || '';
                var list = s.split(/\s+/g);
                if (list[0] === '') {
                    list.shift();
                }
                var index = list.indexOf(itemName);
                if (index < 0 && add) {
                    list.push(itemName);
                }
                if (index >= 0 && remove) {
                    list.splice(index, 1);
                }
                element.className = list.join(' ');
                return (index >= 0);
            }

            var classListPrototype = {
                add: function (name) {
                    changeList(this.element, name, true, false);
                },
                contains: function (name) {
                    return changeList(this.element, name, false, false);
                },
                remove: function (name) {
                    changeList(this.element, name, false, true);
                },
                toggle: function (name) {
                    changeList(this.element, name, true, true);
                }
            };

            Object.defineProperty(HTMLElement.prototype, 'classList', {
                get: function () {
                    if (this._classList) {
                        return this._classList;
                    }

                    var classList = Object.create(classListPrototype, {
                        element: {
                            value: this,
                            writable: false,
                            enumerable: true
                        }
                    });
                    Object.defineProperty(this, '_classList', {
                        value: classList,
                        writable: false,
                        enumerable: false
                    });
                    return classList;
                },
                enumerable: true
            });
        })();

        // Check console compatibility
        // In older IE versions the console object is not available
        // unless console is open.
        // Support: IE<10
        (function checkConsoleCompatibility() {
            if (!('console' in window)) {
                window.console = {
                    log: function () {
                    },
                    error: function () {
                    },
                    warn: function () {
                    }
                };
            } else if (!('bind' in console.log)) {
                // native functions in IE9 might not have bind
                console.log = (function (fn) {
                    return function (msg) {
                        return fn(msg);
                    };
                })(console.log);
                console.error = (function (fn) {
                    return function (msg) {
                        return fn(msg);
                    };
                })(console.error);
                console.warn = (function (fn) {
                    return function (msg) {
                        return fn(msg);
                    };
                })(console.warn);
            }
        })();

        // Check onclick compatibility in Opera
        // Support: Opera<15
        (function checkOnClickCompatibility() {
            // workaround for reported Opera bug DSK-354448:
            // onclick fires on disabled buttons with opaque content
            function ignoreIfTargetDisabled(event) {
                if (isDisabled(event.target)) {
                    event.stopPropagation();
                }
            }

            function isDisabled(node) {
                return node.disabled || (node.parentNode && isDisabled(node.parentNode));
            }

            if (navigator.userAgent.indexOf('Opera') !== -1) {
                // use browser detection since we cannot feature-check this bug
                document.addEventListener('click', ignoreIfTargetDisabled, true);
            }
        })();

        // Checks if possible to use URL.createObjectURL()
        // Support: IE
        (function checkOnBlobSupport() {
            // sometimes IE loosing the data created with createObjectURL(), see #3977
            if (navigator.userAgent.indexOf('Trident') >= 0) {
                PDFJS.disableCreateObjectURL = true;
            }
        })();

        // Checks if navigator.language is supported
        (function checkNavigatorLanguage() {
            if ('language' in navigator) {
                return;
            }
            PDFJS.locale = navigator.userLanguage || 'en-US';
        })();

        (function checkRangeRequests() {
            // Safari has issues with cached range requests see:
            // https://github.com/mozilla/pdf.js/issues/3260
            // Last tested with version 6.0.4.
            // Support: Safari 6.0+
            var isSafari = Object.prototype.toString.call(
                window.HTMLElement).indexOf('Constructor') > 0;

            // Older versions of Android (pre 3.0) has issues with range requests, see:
            // https://github.com/mozilla/pdf.js/issues/3381.
            // Make sure that we only match webkit-based Android browsers,
            // since Firefox/Fennec works as expected.
            // Support: Android<3.0
            var regex = /Android\s[0-2][^\d]/;
            var isOldAndroid = regex.test(navigator.userAgent);

            // Range requests are broken in Chrome 39 and 40, https://crbug.com/442318
            var isChromeWithRangeBug = /Chrome\/(39|40)\./.test(navigator.userAgent);

            if (isSafari || isOldAndroid || isChromeWithRangeBug) {
                PDFJS.disableRange = true;
                PDFJS.disableStream = true;
            }
        })();

        // Check if the browser supports manipulation of the history.
        // Support: IE<10, Android<4.2
        (function checkHistoryManipulation() {
            // Android 2.x has so buggy pushState support that it was removed in
            // Android 3.0 and restored as late as in Android 4.2.
            // Support: Android 2.x
            if (!history.pushState || navigator.userAgent.indexOf('Android 2.') >= 0) {
                PDFJS.disableHistory = true;
            }
        })();

        // Support: IE<11, Chrome<21, Android<4.4, Safari<6
        (function checkSetPresenceInImageData() {
            // IE < 11 will use window.CanvasPixelArray which lacks set function.
            if (window.CanvasPixelArray) {
                if (typeof window.CanvasPixelArray.prototype.set !== 'function') {
                    window.CanvasPixelArray.prototype.set = function (arr) {
                        for (var i = 0, ii = this.length; i < ii; i++) {
                            this[i] = arr[i];
                        }
                    };
                }
            } else {
                // Old Chrome and Android use an inaccessible CanvasPixelArray prototype.
                // Because we cannot feature detect it, we rely on user agent parsing.
                var polyfill = false, versionMatch;
                if (navigator.userAgent.indexOf('Chrom') >= 0) {
                    versionMatch = navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./);
                    // Chrome < 21 lacks the set function.
                    polyfill = versionMatch && parseInt(versionMatch[2]) < 21;
                } else if (navigator.userAgent.indexOf('Android') >= 0) {
                    // Android < 4.4 lacks the set function.
                    // Android >= 4.4 will contain Chrome in the user agent,
                    // thus pass the Chrome check above and not reach this block.
                    polyfill = /Android\s[0-4][^\d]/g.test(navigator.userAgent);
                } else if (navigator.userAgent.indexOf('Safari') >= 0) {
                    versionMatch = navigator.userAgent.match(/Version\/([0-9]+)\.([0-9]+)\.([0-9]+) Safari\//);
                    // Safari < 6 lacks the set function.
                    polyfill = versionMatch && parseInt(versionMatch[1]) < 6;
                }

                if (polyfill) {
                    var contextPrototype = window.CanvasRenderingContext2D.prototype;
                    contextPrototype._createImageData = contextPrototype.createImageData;
                    contextPrototype.createImageData = function (w, h) {
                        var imageData = this._createImageData(w, h);
                        imageData.data.set = function (arr) {
                            for (var i = 0, ii = this.length; i < ii; i++) {
                                this[i] = arr[i];
                            }
                        };
                        return imageData;
                    };
                }
            }
        })();

        // Support: IE<10, Android<4.0, iOS
        (function checkRequestAnimationFrame() {
            function fakeRequestAnimationFrame(callback) {
                window.setTimeout(callback, 20);
            }

            var isIOS = /(iPad|iPhone|iPod)/g.test(navigator.userAgent);
            if (isIOS) {
                // requestAnimationFrame on iOS is broken, replacing with fake one.
                window.requestAnimationFrame = fakeRequestAnimationFrame;
                return;
            }
            if ('requestAnimationFrame' in window) {
                return;
            }
            window.requestAnimationFrame =
                window.mozRequestAnimationFrame ||
                window.webkitRequestAnimationFrame ||
                fakeRequestAnimationFrame;
        })();

        (function checkCanvasSizeLimitation() {
            var isIOS = /(iPad|iPhone|iPod)/g.test(navigator.userAgent);
            var isAndroid = /Android/g.test(navigator.userAgent);
            if (isIOS || isAndroid) {
                // 5MP
                PDFJS.maxCanvasPixels = 5242880;
            }
        })();

        // Disable fullscreen support for certain problematic configurations.
        // Support: IE11+ (when embedded).
        (function checkFullscreenSupport() {
            var isEmbeddedIE = (navigator.userAgent.indexOf('Trident') >= 0 &&
                window.parent !== window);
            if (isEmbeddedIE) {
                PDFJS.disableFullscreen = true;
            }
        })();
    </script>
    <script>
        (function () {/*
 pdf2htmlEX.js: Core UI functions for pdf2htmlEX
 Copyright 2012,2013 Lu Wang <coolwanglu@gmail.com> and other contributors
 https://github.com/coolwanglu/pdf2htmlEX/blob/master/share/LICENSE
*/
            var pdf2htmlEX = window.pdf2htmlEX = window.pdf2htmlEX || {}, CSS_CLASS_NAMES = {
                page_frame: "pf",
                page_content_box: "pc",
                page_data: "pi",
                background_image: "bi",
                link: "l",
                input_radio: "ir",
                __dummy__: "no comma"
            }, DEFAULT_CONFIG = {
                container_id: "page-container",
                sidebar_id: "sidebar",
                outline_id: "outline",
                loading_indicator_cls: "loading-indicator",
                preload_pages: 3,
                render_timeout: 100,
                scale_step: 0.9,
                key_handler: !0,
                hashchange_handler: !0,
                view_history_handler: !0,
                __dummy__: "no comma"
            }, EPS = 1E-6;

            function invert(a) {
                var b = a[0] * a[3] - a[1] * a[2];
                return [a[3] / b, -a[1] / b, -a[2] / b, a[0] / b, (a[2] * a[5] - a[3] * a[4]) / b, (a[1] * a[4] - a[0] * a[5]) / b]
            }

            function transform(a, b) {
                return [a[0] * b[0] + a[2] * b[1] + a[4], a[1] * b[0] + a[3] * b[1] + a[5]]
            }

            function get_page_number(a) {
                return parseInt(a.getAttribute("data-page-no"), 16)
            }

            function disable_dragstart(a) {
                for (var b = 0, c = a.length; b < c; ++b) a[b].addEventListener("dragstart", function () {
                    return !1
                }, !1)
            }

            function clone_and_extend_objs(a) {
                for (var b = {}, c = 0, e = arguments.length; c < e; ++c) {
                    var h = arguments[c], d;
                    for (d in h) h.hasOwnProperty(d) && (b[d] = h[d])
                }
                return b
            }

            function Page(a) {
                if (a) {
                    this.shown = this.loaded = !1;
                    this.page = a;
                    this.num = get_page_number(a);
                    this.original_height = a.clientHeight;
                    this.original_width = a.clientWidth;
                    var b = a.getElementsByClassName(CSS_CLASS_NAMES.page_content_box)[0];
                    b && (this.content_box = b, this.original_scale = this.cur_scale = this.original_height / b.clientHeight, this.page_data = JSON.parse(a.getElementsByClassName(CSS_CLASS_NAMES.page_data)[0].getAttribute("data-data")), this.ctm = this.page_data.ctm, this.ictm = invert(this.ctm), this.loaded = !0)
                }
            }

            Page.prototype = {
                hide: function () {
                    this.loaded && this.shown && (this.content_box.classList.remove("opened"), this.shown = !1)
                }, show: function () {
                    this.loaded && !this.shown && (this.content_box.classList.add("opened"), this.shown = !0)
                }, rescale: function (a) {
                    this.cur_scale = 0 === a ? this.original_scale : a;
                    this.loaded && (a = this.content_box.style, a.msTransform = a.webkitTransform = a.transform = "scale(" + this.cur_scale.toFixed(3) + ")");
                    a = this.page.style;
                    a.height = this.original_height * this.cur_scale + "px";
                    a.width = this.original_width * this.cur_scale +
                        "px"
                }, view_position: function () {
                    var a = this.page, b = a.parentNode;
                    return [b.scrollLeft - a.offsetLeft - a.clientLeft, b.scrollTop - a.offsetTop - a.clientTop]
                }, height: function () {
                    return this.page.clientHeight
                }, width: function () {
                    return this.page.clientWidth
                }
            };

            function Viewer(a) {
                this.config = clone_and_extend_objs(DEFAULT_CONFIG, 0 < arguments.length ? a : {});
                this.pages_loading = [];
                this.init_before_loading_content();
                var b = this;
                document.addEventListener("DOMContentLoaded", function () {
                    b.init_after_loading_content()
                }, !1)
            }

            Viewer.prototype = {
                scale: 1, cur_page_idx: 0, first_page_idx: 0, init_before_loading_content: function () {
                    this.pre_hide_pages()
                }, initialize_radio_button: function () {
                    for (var a = document.getElementsByClassName(CSS_CLASS_NAMES.input_radio), b = 0; b < a.length; b++) a[b].addEventListener("click", function () {
                        this.classList.toggle("checked")
                    })
                }, init_after_loading_content: function () {
                    this.sidebar = document.getElementById(this.config.sidebar_id);
                    this.outline = document.getElementById(this.config.outline_id);
                    this.container = document.getElementById(this.config.container_id);
                    this.loading_indicator = document.getElementsByClassName(this.config.loading_indicator_cls)[0];
                    for (var a = !0, b = this.outline.childNodes, c = 0, e = b.length; c < e; ++c) if ("ul" === b[c].nodeName.toLowerCase()) {
                        a = !1;
                        break
                    }
                    a || this.sidebar.classList.add("opened");
                    this.find_pages();
                    if (0 != this.pages.length) {
                        disable_dragstart(document.getElementsByClassName(CSS_CLASS_NAMES.background_image));
                        this.config.key_handler && this.register_key_handler();
                        var h = this;
                        this.config.hashchange_handler && window.addEventListener("hashchange",
                            function (a) {
                                h.navigate_to_dest(document.location.hash.substring(1))
                            }, !1);
                        this.config.view_history_handler && window.addEventListener("popstate", function (a) {
                            a.state && h.navigate_to_dest(a.state)
                        }, !1);
                        this.container.addEventListener("scroll", function () {
                            h.update_page_idx();
                            h.schedule_render(!0)
                        }, !1);
                        [this.container, this.outline].forEach(function (a) {
                            a.addEventListener("click", h.link_handler.bind(h), !1)
                        });
                        this.initialize_radio_button();
                        this.render()
                    }
                }, find_pages: function () {
                    for (var a = [], b = {}, c = this.container.childNodes,
                             e = 0, h = c.length; e < h; ++e) {
                        var d = c[e];
                        d.nodeType === Node.ELEMENT_NODE && d.classList.contains(CSS_CLASS_NAMES.page_frame) && (d = new Page(d), a.push(d), b[d.num] = a.length - 1)
                    }
                    this.pages = a;
                    this.page_map = b
                }, load_page: function (a, b, c) {
                    var e = this.pages;
                    if (!(a >= e.length) && (e = e[a], !e.loaded && !this.pages_loading[a])) {
                        var e = e.page, h = e.getAttribute("data-page-url");
                        if (h) {
                            this.pages_loading[a] = !0;
                            var d = e.getElementsByClassName(this.config.loading_indicator_cls)[0];
                            "undefined" === typeof d && (d = this.loading_indicator.cloneNode(!0),
                                d.classList.add("active"), e.appendChild(d));
                            var f = this, g = new XMLHttpRequest;
                            g.open("GET", h, !0);
                            g.onload = function () {
                                if (200 === g.status || 0 === g.status) {
                                    var b = document.createElement("div");
                                    b.innerHTML = g.responseText;
                                    for (var d = null, b = b.childNodes, e = 0, h = b.length; e < h; ++e) {
                                        var p = b[e];
                                        if (p.nodeType === Node.ELEMENT_NODE && p.classList.contains(CSS_CLASS_NAMES.page_frame)) {
                                            d = p;
                                            break
                                        }
                                    }
                                    b = f.pages[a];
                                    f.container.replaceChild(d, b.page);
                                    b = new Page(d);
                                    f.pages[a] = b;
                                    b.hide();
                                    b.rescale(f.scale);
                                    disable_dragstart(d.getElementsByClassName(CSS_CLASS_NAMES.background_image));
                                    f.schedule_render(!1);
                                    c && c(b)
                                }
                                delete f.pages_loading[a]
                            };
                            g.send(null)
                        }
                        void 0 === b && (b = this.config.preload_pages);
                        0 < --b && (f = this, setTimeout(function () {
                            f.load_page(a + 1, b)
                        }, 0))
                    }
                }, pre_hide_pages: function () {
                    var a = "@media screen{." + CSS_CLASS_NAMES.page_content_box + "{display:none;}}",
                        b = document.createElement("style");
                    b.styleSheet ? b.styleSheet.cssText = a : b.appendChild(document.createTextNode(a));
                    document.head.appendChild(b)
                }, render: function () {
                    for (var a = this.container, b = a.scrollTop, c = a.clientHeight, a = b - c, b =
                        b + c + c, c = this.pages, e = 0, h = c.length; e < h; ++e) {
                        var d = c[e], f = d.page, g = f.offsetTop + f.clientTop, f = g + f.clientHeight;
                        g <= b && f >= a ? d.loaded ? d.show() : this.load_page(e) : d.hide()
                    }
                }, update_page_idx: function () {
                    var a = this.pages, b = a.length;
                    if (!(2 > b)) {
                        for (var c = this.container, e = c.scrollTop, c = e + c.clientHeight, h = -1, d = b, f = d - h; 1 < f;) {
                            var g = h + Math.floor(f / 2), f = a[g].page;
                            f.offsetTop + f.clientTop + f.clientHeight >= e ? d = g : h = g;
                            f = d - h
                        }
                        this.first_page_idx = d;
                        for (var g = h = this.cur_page_idx, k = 0; d < b; ++d) {
                            var f = a[d].page, l = f.offsetTop + f.clientTop,
                                f = f.clientHeight;
                            if (l > c) break;
                            f = (Math.min(c, l + f) - Math.max(e, l)) / f;
                            if (d === h && Math.abs(f - 1) <= EPS) {
                                g = h;
                                break
                            }
                            f > k && (k = f, g = d)
                        }
                        this.cur_page_idx = g
                    }
                }, schedule_render: function (a) {
                    if (void 0 !== this.render_timer) {
                        if (!a) return;
                        clearTimeout(this.render_timer)
                    }
                    var b = this;
                    this.render_timer = setTimeout(function () {
                        delete b.render_timer;
                        b.render()
                    }, this.config.render_timeout)
                }, register_key_handler: function () {
                    var a = this;
                    window.addEventListener("DOMMouseScroll", function (b) {
                        if (b.ctrlKey) {
                            b.preventDefault();
                            var c = a.container,
                                e = c.getBoundingClientRect(),
                                c = [b.clientX - e.left - c.clientLeft, b.clientY - e.top - c.clientTop];
                            a.rescale(Math.pow(a.config.scale_step, b.detail), !0, c)
                        }
                    }, !1);
                    window.addEventListener("keydown", function (b) {
                        var c = !1, e = b.ctrlKey || b.metaKey, h = b.altKey;
                        switch (b.keyCode) {
                            case 61:
                            case 107:
                            case 187:
                                e && (a.rescale(1 / a.config.scale_step, !0), c = !0);
                                break;
                            case 173:
                            case 109:
                            case 189:
                                e && (a.rescale(a.config.scale_step, !0), c = !0);
                                break;
                            case 48:
                                e && (a.rescale(0, !1), c = !0);
                                break;
                            case 33:
                                h ? a.scroll_to(a.cur_page_idx - 1) : a.container.scrollTop -=
                                    a.container.clientHeight;
                                c = !0;
                                break;
                            case 34:
                                h ? a.scroll_to(a.cur_page_idx + 1) : a.container.scrollTop += a.container.clientHeight;
                                c = !0;
                                break;
                            case 35:
                                a.container.scrollTop = a.container.scrollHeight;
                                c = !0;
                                break;
                            case 36:
                                a.container.scrollTop = 0, c = !0
                        }
                        c && b.preventDefault()
                    }, !1)
                }, rescale: function (a, b, c) {
                    var e = this.scale;
                    this.scale = a = 0 === a ? 1 : b ? e * a : a;
                    c || (c = [0, 0]);
                    b = this.container;
                    c[0] += b.scrollLeft;
                    c[1] += b.scrollTop;
                    for (var h = this.pages, d = h.length, f = this.first_page_idx; f < d; ++f) {
                        var g = h[f].page;
                        if (g.offsetTop + g.clientTop >=
                            c[1]) break
                    }
                    g = f - 1;
                    0 > g && (g = 0);
                    var g = h[g].page, k = g.clientWidth, f = g.clientHeight, l = g.offsetLeft + g.clientLeft,
                        m = c[0] - l;
                    0 > m ? m = 0 : m > k && (m = k);
                    k = g.offsetTop + g.clientTop;
                    c = c[1] - k;
                    0 > c ? c = 0 : c > f && (c = f);
                    for (f = 0; f < d; ++f) h[f].rescale(a);
                    b.scrollLeft += m / e * a + g.offsetLeft + g.clientLeft - m - l;
                    b.scrollTop += c / e * a + g.offsetTop + g.clientTop - c - k;
                    this.schedule_render(!0)
                }, fit_width: function () {
                    var a = this.cur_page_idx;
                    this.rescale(this.container.clientWidth / this.pages[a].width(), !0);
                    this.scroll_to(a)
                }, fit_height: function () {
                    var a = this.cur_page_idx;
                    this.rescale(this.container.clientHeight / this.pages[a].height(), !0);
                    this.scroll_to(a)
                }, get_containing_page: function (a) {
                    for (; a;) {
                        if (a.nodeType === Node.ELEMENT_NODE && a.classList.contains(CSS_CLASS_NAMES.page_frame)) {
                            a = get_page_number(a);
                            var b = this.page_map;
                            return a in b ? this.pages[b[a]] : null
                        }
                        a = a.parentNode
                    }
                    return null
                }, link_handler: function (a) {
                    var b = a.target, c = b.getAttribute("data-dest-detail");
                    if (c) {
                        if (this.config.view_history_handler) try {
                            var e = this.get_current_view_hash();
                            window.history.replaceState(e,
                                "", "#" + e);
                            window.history.pushState(c, "", "#" + c)
                        } catch (h) {
                        }
                        this.navigate_to_dest(c, this.get_containing_page(b));
                        a.preventDefault()
                    }
                }, navigate_to_dest: function (a, b) {
                    try {
                        var c = JSON.parse(a)
                    } catch (e) {
                        return
                    }
                    if (c instanceof Array) {
                        var h = c[0], d = this.page_map;
                        if (h in d) {
                            for (var f = d[h], h = this.pages[f], d = 2, g = c.length; d < g; ++d) {
                                var k = c[d];
                                if (!(null === k || "number" === typeof k)) return
                            }
                            for (; 6 > c.length;) c.push(null);
                            var g = b || this.pages[this.cur_page_idx], d = g.view_position(),
                                d = transform(g.ictm, [d[0], g.height() - d[1]]),
                                g = this.scale, l = [0, 0], m = !0, k = !1, n = this.scale;
                            switch (c[1]) {
                                case "XYZ":
                                    l = [null === c[2] ? d[0] : c[2] * n, null === c[3] ? d[1] : c[3] * n];
                                    g = c[4];
                                    if (null === g || 0 === g) g = this.scale;
                                    k = !0;
                                    break;
                                case "Fit":
                                case "FitB":
                                    l = [0, 0];
                                    k = !0;
                                    break;
                                case "FitH":
                                case "FitBH":
                                    l = [0, null === c[2] ? d[1] : c[2] * n];
                                    k = !0;
                                    break;
                                case "FitV":
                                case "FitBV":
                                    l = [null === c[2] ? d[0] : c[2] * n, 0];
                                    k = !0;
                                    break;
                                case "FitR":
                                    l = [c[2] * n, c[5] * n], m = !1, k = !0
                            }
                            if (k) {
                                this.rescale(g, !1);
                                var p = this, c = function (a) {
                                    l = transform(a.ctm, l);
                                    m && (l[1] = a.height() - l[1]);
                                    p.scroll_to(f, l)
                                };
                                h.loaded ?
                                    c(h) : (this.load_page(f, void 0, c), this.scroll_to(f))
                            }
                        }
                    }
                }, scroll_to: function (a, b) {
                    var c = this.pages;
                    if (!(0 > a || a >= c.length)) {
                        c = c[a].view_position();
                        void 0 === b && (b = [0, 0]);
                        var e = this.container;
                        e.scrollLeft += b[0] - c[0];
                        e.scrollTop += b[1] - c[1]
                    }
                }, get_current_view_hash: function () {
                    var a = [], b = this.pages[this.cur_page_idx];
                    a.push(b.num);
                    a.push("XYZ");
                    var c = b.view_position(), c = transform(b.ictm, [c[0], b.height() - c[1]]);
                    a.push(c[0] / this.scale);
                    a.push(c[1] / this.scale);
                    a.push(this.scale);
                    return JSON.stringify(a)
                }
            };
            pdf2htmlEX.Viewer = Viewer;
        })();
    </script>
    <script>
        try {
            pdf2htmlEX.defaultViewer = new pdf2htmlEX.Viewer({});
        } catch (e) {
        }
    </script>
    <title></title>
</head>
<body>
<div id="sidebar">
    <div id="outline">
        <ul>
            <li><a class="l" href="">Part I: Getting Started with Angular</a>
                <ul>
                    <li><a class="l" href="">Chapter 2: Your First Angular App</a>
                        <ul>
                            <li><a class="l" href="">Adding Angular Features to the Project</a>
                                <ul>
                                    <li><a class="l" href="">Creating a Data Model</a>
                                        <ul>
                                            <li><a class="l" href="#pf1" data-dest-detail='[1,"XYZ",53,461,null]'>Creating
                                                the To-Do List Class</a></li>
                                        </ul>
                                    </li>
                                    <li><a class="l" href="#pf2" data-dest-detail='[2,"XYZ",35,644,null]'>Displaying
                                        Data to the User</a></li>
                                    <li><a class="l" href="#pf3" data-dest-detail='[3,"XYZ",53,644,null]'>Updating
                                        the Component</a>
                                        <ul>
                                            <li><a class="l" href="#pf3" data-dest-detail='[3,"XYZ",53,191,null]'>Understanding
                                                the Imports</a></li>
                                            <li><a class="l" href="#pf4" data-dest-detail='[4,"XYZ",35,505,null]'>Understanding
                                                the Decorator</a></li>
                                            <li><a class="l" href="#pf5" data-dest-detail='[5,"XYZ",53,604,null]'>Understanding
                                                the Class</a></li>
                                        </ul>
                                    </li>
                                    <li><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",35,455,null]'>Styling
                                        the HTML Elements</a></li>
                                    <li><a class="l" href="#pf8" data-dest-detail='[8,"XYZ",35,425,null]'>Displaying
                                        the List of To-Do Items</a></li>
                                    <li><a class="l" href="#pfb" data-dest-detail='[11,"XYZ",53,211,null]'>Creating
                                        a Two-Way Data Binding</a></li>
                                </ul>
                            </li>
                        </ul>
                    </li>
                </ul>
            </li>
        </ul>
    </div>
</div>
<div id="page-container">
    <div id="pf1" class="pf w0 h0" data-page-no="1">
        <div class="pc pc1 w0 h0">
            <div class="t m0 x0 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x1 h2 y1 ff3 fs1 fc0 sc0 ls1 ws2">17</div>
            <div class="t m0 x2 h3 y2 ff3 fs2 fc0 sc0 ls0 ws0">In fact, I could ha<span class="_ _1"></span>ve written
                the <span class="ff4">TodoItem</span> class without using a concise constructor<span
                        class="_ _2"></span>. TypeScript tries
            </div>
            <div class="t m0 x3 h4 y3 ff3 fs2 fc0 sc0 ls0 ws0">to be helpful without getting in the way, and you c<span
                    class="_ _1"></span>an ignore or disable all its featur<span class="_ _1"></span>es and rely more on
                the
            </div>
            <div class="t m0 x3 h4 y4 ff3 fs2 fc0 sc0 ls0 ws0">standard cap<span class="_ _1"></span>abilities of
                Ja<span class="_ _1"></span>vaScript. There are some fea<span class="_ _1"></span>tures on which Angular
                development r<span class="_ _1"></span>elies, as I
            </div>
            <div class="t m0 x3 h4 y5 ff3 fs2 fc0 sc0 ls0 ws0">explain in later chapters<span class="_ _1"></span>, but
                you can embr<span class="_ _1"></span>ace TypeScript features gradually or<span class="_ _2"></span>, if
                y<span class="_ _1"></span>ou prefer<span class="_ _2"></span>, pick just the
            </div>
            <div class="t m0 x3 h4 y6 ff3 fs2 fc0 sc0 ls0 ws0">ones that you like<span class="_ _1"></span>.</div>
            <div class="t m0 x2 h4 y7 ff3 fs2 fc0 sc0 ls0 ws0">The headline TypeScript featur<span class="_ _1"></span>e
                is static types. Each of the constructor parameters in Listing <span class="fc2">2-7</span> h<span
                        class="_ _1"></span>as
            </div>
            <div class="t m0 x3 h4 y8 ff3 fs2 fc0 sc0 ls0 ws0">been annotated with a type, like this:</div>
            <div class="t m0 x3 h3 y9 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h5 ya ff4 fs2 fc0 sc0 ls0 ws0">constructor(taskVal<span class="ff5">: string</span>,
                completeVal<span class="ff5">: boolean</span> = false) {
            </div>
            <div class="t m0 x3 h3 yb ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x2 h4 yc ff3 fs2 fc0 sc0 ls0 ws0">The TypeScript compiler will report an error if
                incompa<span class="_ _1"></span>tible types are used when invoking the
            </div>
            <div class="t m0 x3 h4 yd ff3 fs2 fc0 sc0 ls0 ws0">constructor<span class="_ _2"></span>. This may seem
                obvio<span class="_ _1"></span>us if you are coming to Angular developmen<span class="_ _1"></span>t
                from C# or J<span class="_ _1"></span>ava, but it isn’t
            </div>
            <div class="t m0 x3 h4 ye ff3 fs2 fc0 sc0 ls0 ws0">the way tha<span class="_ _1"></span>t Ja<span
                    class="_ _1"></span>vaScript usually works.
            </div>
            <div class="t m0 x3 h6 yf ff6 fs3 fc0 sc0 ls0 ws0"><span class="_ _3"></span>Creating theT<span
                    class="_ _4"></span>o-Do List Class
            </div>
            <div class="t m0 x3 h3 y10 ff3 fs2 fc0 sc0 ls0 ws0">T<span class="_ _2"></span>o create a class th<span
                    class="_ _1"></span>at represents a list of to-do items<span class="_ _1"></span>, I added a file
                named <span class="ff4">todoList.ts</span> to the <span class="ff4">src/app</span> folder
            </div>
            <div class="t m0 x3 h4 y11 ff3 fs2 fc0 sc0 ls0 ws0">and added the code shown in Listing <span class="fc2">2-8</span>.
            </div>
            <div class="t m0 x3 h4 y12 ff7 fs2 fc0 sc0 ls0 ws0">Listing 2-8. <span class="_ _5"> </span><span
                    class="ff3">The Contents of the todoList.ts F<span class="_ _1"></span>ile in the src/app F<span
                    class="_ _1"></span>older</span></div>
            <div class="t m0 x3 h3 y13 ff4 fs2 fc0 sc0 ls0 ws0">import { TodoItem } from &quot;./todoItem&quot;;</div>
            <div class="t m0 x3 h3 y14 ff4 fs2 fc0 sc0 ls0 ws0">export class TodoList {</div>
            <div class="t m0 x3 h3 y15 ff4 fs2 fc0 sc0 ls0 ws0"> constructor(public user: string, private todoItems:
                TodoItem[] = []) {
            </div>
            <div class="t m0 x3 h3 y16 ff4 fs2 fc0 sc0 ls0 ws0"> // no statements required</div>
            <div class="t m0 x3 h3 y17 ff4 fs2 fc0 sc0 ls0 ws0"> }</div>
            <div class="t m0 x3 h3 y18 ff4 fs2 fc0 sc0 ls0 ws0"> get items(): readonly TodoItem[] {</div>
            <div class="t m0 x3 h3 y19 ff4 fs2 fc0 sc0 ls0 ws0"> return this.todoItems;</div>
            <div class="t m0 x3 h3 y1a ff4 fs2 fc0 sc0 ls0 ws0"> }</div>
            <div class="t m0 x3 h3 y1b ff4 fs2 fc0 sc0 ls0 ws0"> addItem(task: string) {</div>
            <div class="t m0 x3 h3 y1c ff4 fs2 fc0 sc0 ls0 ws0"> this.todoItems.push(new TodoItem(task));</div>
            <div class="t m0 x3 h3 y1d ff4 fs2 fc0 sc0 ls0 ws0"> }</div>
            <div class="t m0 x3 h3 y1e ff4 fs2 fc0 sc0 ls0 ws0">}</div>
            <div class="t m0 x2 h3 y1f ff3 fs2 fc0 sc0 ls0 ws0">The <span class="ff4">import</span> keyword declar<span
                    class="_ _1"></span>es a dependenc<span class="_ _0"></span>y on the <span
                    class="ff4">TodoItem</span> class and specifies the code file that
            </div>
            <div class="t m0 x3 h3 y20 ff3 fs2 fc0 sc0 ls0 ws0">defines it. The <span class="ff4">TodoList</span> class
                defines a constructor that r<span class="_ _1"></span>eceives the initial set of to-do items. I don’t
                want
            </div>
            <div class="t m0 x3 h3 y21 ff3 fs2 fc0 sc0 ls0 ws0">to give unrestricted access to the arra<span
                    class="_ _1"></span>y of <span class="ff4">TodoItem</span> objects, so I have defined a pr<span
                    class="_ _1"></span>operty named <span class="ff4">items</span><span class="ls2 ws3"> that<span
                    class="_ _0"></span> </span></div>
            <div class="t m0 x3 h3 y22 ff3 fs2 fc0 sc0 ls0 ws0">returns a r<span class="_ _1"></span>ead-only array,
                which is done using the <span class="ff4">readonly</span> keyword. The T<span class="_ _1"></span>ypeScript
                compiler will generate
            </div>
            <div class="t m0 x3 h4 y23 ff3 fs2 fc0 sc0 ls0 ws0">an error for any statemen<span class="_ _1"></span>t
                that attempts to modify the contents of the arr<span class="_ _1"></span>ay, and if you are using an
                editor
            </div>
            <div class="t m0 x3 h4 y24 ff3 fs2 fc0 sc0 ls0 ws0">that has good T<span class="_ _1"></span>ypeScr<span
                    class="_ _0"></span>ipt support, such as Visual S<span class="_ _1"></span>tudio Code, then the
                autocomplete featur<span class="_ _1"></span>es of the editor
            </div>
            <div class="t m0 x3 h4 y25 ff3 fs2 fc0 sc0 ls0 ws0">won’t present methods and properties tha<span
                    class="_ _1"></span>t would trigger a compiler error<span class="_ _2"></span>.
            </div>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:552.280300px;bottom:750.981400px;width:12.312000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            <a class="l" href="#pf1" data-dest-detail='[1,"XYZ",53,405,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:255.256300px;bottom:541.681400px;width:12.312000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a></div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
    <div id="pf2" class="pf w0 h0" data-page-no="2">
        <div class="pc pc2 w0 h0">
            <div class="t m0 x4 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x4 h2 y1 ff3 fs1 fc0 sc0 ls3 ws4">18</div>
            <div class="t m0 x4 h7 y26 ff3 fs3 fc0 sc0 ls0 ws0"><span class="_ _6"></span>Displaying D<span
                    class="_ _1"></span>ata totheUser
            </div>
            <div class="t m0 x4 h4 y27 ff3 fs2 fc0 sc0 ls0 ws0">I need a way to display the da<span class="_ _1"></span>ta
                values in the model to the user<span class="_ _2"></span>. In Angular<span class="_ _2"></span>, this is
                done using a <span class="ff8">template</span>,
            </div>
            <div class="t m0 x4 h4 y28 ff3 fs2 fc0 sc0 ls0 ws0">which is a fragment of HTML tha<span
                    class="_ _1"></span>t contains expressions that ar<span class="_ _1"></span>e evaluated by Angular
                and th<span class="_ _1"></span>at inserts the
            </div>
            <div class="t m0 x4 h3 y29 ff3 fs2 fc0 sc0 ls0 ws0">results into the con<span class="_ _1"></span>tent that
                is sent to the br<span class="_ _1"></span>owser<span class="_ _2"></span>. The <span class="ff4">angular-cli</span>
                setup for the project created a templ<span class="_ _1"></span>ate
            </div>
            <div class="t m0 x4 h3 y2a ff3 fs2 fc0 sc0 ls0 ws0">file called <span class="ff4">app.component.html</span>
                in the <span class="ff4">src/app</span> folder<span class="_ _2"></span>. I edited this file to
                remo<span class="_ _1"></span>ve the placeholder content and
            </div>
            <div class="t m0 x4 h4 y2b ff3 fs2 fc0 sc0 ls0 ws0">add the content shown in Listing <span
                    class="fc2">2-9</span>.
            </div>
            <div class="t m0 x4 h4 y2c ff7 fs2 fc0 sc0 ls0 ws0">Listing 2-9. <span class="_ _5"> </span><span
                    class="ff3">Replacing the Contents of the a<span class="_ _1"></span>pp.component<span
                    class="_ _1"></span>.html File in the src/a<span class="_ _1"></span>pp Folder</span></div>
            <div class="t m0 x4 h3 y2d ff4 fs2 fc0 sc0 ls0 ws0">&lt;h3&gt;</div>
            <div class="t m0 x4 h3 y2e ff4 fs2 fc0 sc0 ls0 ws0"> {{ username }}&apos;s To Do List</div>
            <div class="t m0 x4 h3 y2f ff4 fs2 fc0 sc0 ls0 ws0"> &lt;h6&gt;{{ itemCount }} Items&lt;/h6&gt;</div>
            <div class="t m0 x4 h3 y30 ff4 fs2 fc0 sc0 ls0 ws0">&lt;/h3&gt;</div>
            <div class="t m0 x3 h4 y31 ff3 fs2 fc0 sc0 ls0 ws0">I’ll add more elemen<span class="_ _1"></span>ts to this
                file shortly, but two HTML elements are enough to get started. Including
            </div>
            <div class="t m0 x4 h3 y32 ff3 fs2 fc0 sc0 ls0 ws0">a data value in a template is done us<span
                    class="_ _1"></span>ing double braces—<span class="ff4">{{</span> and <span class="ff4">}}</span>—and
                Angular evaluates wh<span class="_ _1"></span>atever you put
            </div>
            <div class="t m0 x4 h4 y33 ff3 fs2 fc0 sc0 ls0 ws0">between the double braces to get the value to display.
            </div>
            <div class="t m0 x3 h3 y34 ff3 fs2 fc0 sc0 ls0 ws0">The <span class="ff4">{{</span> and <span
                    class="ff4">}}</span> characters ar<span class="_ _1"></span>e an example of a <span class="ff8">data binding</span>,
                which means they crea<span class="_ _1"></span>te a relationship
            </div>
            <div class="t m0 x4 h4 y35 ff3 fs2 fc0 sc0 ls0 ws0">between the template and a data value<span
                    class="_ _1"></span>. Data bindings are an important Angular fe<span class="_ _1"></span>ature, and
                yo<span class="_ _1"></span>u will se<span class="_ _0"></span>e
            </div>
            <div class="t m0 x4 h4 y36 ff3 fs2 fc0 sc0 ls0 ws0">more of them in this chapt<span class="_ _1"></span>er
                as I add features to the example applica<span class="_ _1"></span>tion (and I descr<span
                        class="_ _0"></span>ibe them in detail
            </div>
            <div class="t m0 x4 h3 y37 ff3 fs2 fc0 sc0 ls0 ws0">in Part 2 of this book). In this c<span
                    class="_ _1"></span>ase, the data bindings tell Angular to get the value of the <span class="ff4">username</span>
                and
            </div>
            <div class="t m0 x4 h3 y38 ff4 fs2 fc0 sc0 ls0 ws0">itemCount<span class="ff3"> properties and insert them into the content of the </span>h3<span
                    class="ff3"> and </span>div<span class="ff3"> elements<span class="_ _1"></span>.</span></div>
            <div class="t m0 x3 h4 y39 ff3 fs2 fc0 sc0 ls0 ws0">As soon as you save the file<span class="_ _1"></span>,
                the Angular development tools will try to build the project. The compiler
            </div>
            <div class="t m0 x4 h4 y3a ff3 fs2 fc0 sc0 ls0 ws0">will generate the following errors:</div>
            <div class="t m0 x4 h3 y3b ff4 fs2 fc0 sc0 ls0 ws0">ERROR in src/app/app.component.html:1:8 - error TS2339:
                Property &apos;username&apos; does not exist
            </div>
            <div class="t m0 x4 h3 y3c ff4 fs2 fc0 sc0 ls0 ws0">on type &apos;AppComponent&apos;.</div>
            <div class="t m0 x4 h3 y3d ff4 fs2 fc0 sc0 ls0 ws0"> 1 {{ username }}&apos;s To Do List</div>
            <div class="t m0 x4 h3 y3e ff4 fs2 fc0 sc0 ls0 ws0"> ~~~~~~~~~</div>
            <div class="t m0 x4 h3 y3f ff4 fs2 fc0 sc0 ls0 ws0"> src/app/app.component.ts:5:16</div>
            <div class="t m0 x4 h3 y40 ff4 fs2 fc0 sc0 ls0 ws0"> 5 templateUrl: &apos;./app.component.html&apos;,</div>
            <div class="t m0 x4 h3 y41 ff4 fs2 fc0 sc0 ls0 ws0"> ~~~~~~~~~~~~~~~~~~~~~~</div>
            <div class="t m0 x4 h3 y42 ff4 fs2 fc0 sc0 ls0 ws0"> Error occurs in the template of component
                AppComponent.
            </div>
            <div class="t m0 x4 h3 y43 ff4 fs2 fc0 sc0 ls0 ws0"><span class="_ _7"></span>src/app/app.component.html:2:9
                - error TS2339: Property &apos;itemCount&apos; does not exist on
            </div>
            <div class="t m0 x3 h3 y44 ff4 fs2 fc0 sc0 ls0 ws0">type &apos;AppComponent&apos;.</div>
            <div class="t m0 x4 h3 y45 ff4 fs2 fc0 sc0 ls0 ws0"> 2 &lt;h6&gt;{{ itemCount }} Incomplete
                Items&lt;/h6&gt;
            </div>
            <div class="t m0 x4 h3 y46 ff4 fs2 fc0 sc0 ls0 ws0"> ~~~~~~~~~~</div>
            <div class="t m0 x4 h3 y47 ff4 fs2 fc0 sc0 ls0 ws0"> src/app/app.component.ts:5:16</div>
            <div class="t m0 x4 h3 y48 ff4 fs2 fc0 sc0 ls0 ws0"> 5 templateUrl: &apos;./app.component.html&apos;,</div>
            <div class="t m0 x4 h3 y49 ff4 fs2 fc0 sc0 ls0 ws0"> ~~~~~~~~~~~~~~~~~~~~~~</div>
            <div class="t m0 x4 h3 y4a ff4 fs2 fc0 sc0 ls0 ws0"> Error occurs in the template of component
                AppComponent.
            </div>
            <div class="t m0 x3 h4 y4b ff3 fs2 fc0 sc0 ls0 ws0">These errors occur because the properties I used in the
                data binding don’t exist, so Angul<span class="_ _1"></span>ar can’t get the
            </div>
            <div class="t m0 x4 h4 y4c ff3 fs2 fc0 sc0 ls0 ws0">values I told it to use in the template<span
                    class="_ _1"></span>. I’ll fix this problem in the next section.
            </div>
            <a class="l" href="#pf2" data-dest-detail='[2,"XYZ",35,556,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:211.790800px;bottom:738.449400px;width:12.312000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a></div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
    <div id="pf3" class="pf w0 h0" data-page-no="3">
        <div class="pc pc3 w0 h0">
            <div class="t m0 x0 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x1 h2 y1 ff3 fs1 fc0 sc0 ls4 ws5">19</div>
            <div class="t m0 x3 h7 y26 ff3 fs3 fc0 sc0 ls0 ws6"> Upda<span class="_ _1"></span>ting <span
                    class="_ _8"> </span>theComponent
            </div>
            <div class="t m0 x3 h4 y27 ff3 fs2 fc0 sc0 ls0 ws0">An Angular <span class="ff8">component</span> is
                responsible for m<span class="_ _1"></span>anaging a template and pr<span class="_ _1"></span>oviding it
                with the data and logic it
            </div>
            <div class="t m0 x3 h4 y28 ff3 fs2 fc0 sc0 ls0 ws0">needs. If that seems like a br<span class="_ _1"></span>oad
                statement, it is because componen<span class="_ _1"></span>ts are the part of an Angular application
            </div>
            <div class="t m0 x3 h4 y29 ff3 fs2 fc0 sc0 ls0 ws0">that does most of the hea<span class="_ _1"></span>vy
                lifting. As a consequence, they can be used for all sorts of tasks.
            </div>
            <div class="t m0 x2 h4 y2a ff3 fs2 fc0 sc0 ls0 ws0">In this case, I need a componen<span
                    class="_ _1"></span>t to act as a bridge betw<span class="_ _0"></span>een the data model classes
                and the template so
            </div>
            <div class="t m0 x3 h3 y2b ff3 fs2 fc0 sc0 ls0 ws0">that I can cr<span class="_ _1"></span>eate an instance
                of the <span class="ff4">TodoList</span> class, popula<span class="_ _1"></span>te it with some sample
                <span class="ff4">TodoItem</span> objects, and, in
            </div>
            <div class="t m0 x3 h3 y4d ff3 fs2 fc0 sc0 ls0 ws0">doing so<span class="_ _1"></span>, provide the
                templa<span class="_ _1"></span>te with the <span class="ff4">username</span> and <span class="ff4">itemCount</span>
                properties it needs. The <span class="ff4">angular-cli</span> setup
            </div>
            <div class="t m0 x3 h3 y4e ff3 fs2 fc0 sc0 ls0 ws0">created a placeholder componen<span class="_ _1"></span>t
                file called <span class="ff4">app.component.ts</span> in the <span class="ff4">todo/src/app</span>
                folder<span class="_ _2"></span>, which I edited to
            </div>
            <div class="t m0 x3 h4 y4f ff3 fs2 fc0 sc0 ls0 ws0">make the changes highli<span class="_ _1"></span>ghted
                in Listing <span class="fc2">2-10</span>.
            </div>
            <div class="t m0 x3 h4 y50 ff7 fs2 fc0 sc0 ls0 ws0">Listing 2-10. <span class="_ _5"> </span><span
                    class="ff3">Editing the Contents of the a<span class="_ _1"></span>pp.component<span
                    class="_ _1"></span>.ts File in the src/app F<span class="_ _1"></span>older</span></div>
            <div class="t m0 x3 h3 y30 ff4 fs2 fc0 sc0 ls0 ws0">import { Component } from &apos;@angular/core&apos;;
            </div>
            <div class="t m0 x3 h5 y51 ff5 fs2 fc0 sc0 ls0 ws0">import { TodoList } from &quot;./todoList&quot;;</div>
            <div class="t m0 x3 h5 y31 ff5 fs2 fc0 sc0 ls0 ws0">import { TodoItem } from &quot;./todoItem&quot;;</div>
            <div class="t m0 x3 h3 y33 ff4 fs2 fc0 sc0 ls0 ws0">@Component({</div>
            <div class="t m0 x3 h3 y34 ff4 fs2 fc0 sc0 ls0 ws0"> selector: &apos;app-root&apos;,</div>
            <div class="t m0 x3 h3 y35 ff4 fs2 fc0 sc0 ls0 ws0"> templateUrl: &apos;./app.component.html&apos;,</div>
            <div class="t m0 x3 h3 y36 ff4 fs2 fc0 sc0 ls0 ws0"> styleUrls: [&apos;./app.component.css&apos;]</div>
            <div class="t m0 x3 h3 y37 ff4 fs2 fc0 sc0 ls0 ws0">})</div>
            <div class="t m0 x3 h3 y38 ff4 fs2 fc0 sc0 ls0 ws0">export class AppComponent {</div>
            <div class="t m0 x3 h5 y39 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">private list = new TodoList(&quot;Bob&quot;, [</span>
            </div>
            <div class="t m0 x3 h5 y3a ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">new TodoItem(&quot;Go for run&quot;, true),</span>
            </div>
            <div class="t m0 x3 h5 y52 ff4 fs2 fc0 sc0 ls0 ws0"><span
                    class="ff5">new TodoItem(&quot;Get flowers&quot;),</span></div>
            <div class="t m0 x3 h5 y3b ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">new TodoItem(&quot;Collect tickets&quot;),</span>
            </div>
            <div class="t m0 x3 h5 y3c ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">]);</span></div>
            <div class="t m0 x3 h5 y3d ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">get username(): string {</span></div>
            <div class="t m0 x3 h5 y3e ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">return this.list.user;</span></div>
            <div class="t m0 x3 h5 y3f ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">}</span></div>
            <div class="t m0 x3 h5 y41 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">get itemCount(): number {</span></div>
            <div class="t m0 x3 h5 y42 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">return this.list.items</span></div>
            <div class="t m0 x3 h5 y53 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">.filter(item =&gt; !item.complete).length;</span>
            </div>
            <div class="t m0 x3 h5 y43 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">}</span></div>
            <div class="t m0 x3 h3 y44 ff4 fs2 fc0 sc0 ls0 ws0">}</div>
            <div class="t m0 x2 h4 y45 ff3 fs2 fc0 sc0 ls0 ws0">The code in the listing can be brok<span
                    class="_ _1"></span>en into three main sections, as described in the following sections.
            </div>
            <div class="t m0 x3 h6 y54 ff6 fs3 fc0 sc0 ls0 ws7"> Understanding <span class="_ _9"> </span>theImports
            </div>
            <div class="t m0 x3 h3 y55 ff3 fs2 fc0 sc0 ls0 ws0">The <span class="ff4">import</span> keyword is the count<span
                    class="_ _1"></span>erpart to the <span class="ff4">export</span> keyword and is used to declare a
                dependency on the
            </div>
            <div class="t m0 x3 h3 y56 ff3 fs2 fc0 sc0 ls0 ws0">contents of a J<span class="_ _1"></span>avaScript
                module. T<span class="_ _1"></span>he <span class="ff4">import</span> keyword is used three times in
                Listing <span class="fc2">2-10</span>.
            </div>
            <div class="t m0 x3 h3 y57 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h3 y58 ff4 fs2 fc0 sc0 ls0 ws0">import { Component } from &apos;@angular/core&apos;;
            </div>
            <div class="t m0 x3 h3 y59 ff4 fs2 fc0 sc0 ls0 ws0">import { TodoList } from &quot;./todoList&quot;;</div>
            <div class="t m0 x3 h3 y5a ff4 fs2 fc0 sc0 ls0 ws0">import { TodoItem } from &quot;./todoItem&quot;;</div>
            <div class="t m0 x3 h3 y5b ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <a class="l" href="#pf3" data-dest-detail='[3,"XYZ",53,523,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:270.197200px;bottom:695.549400px;width:16.812000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a><a class="l" href="#pf3" data-dest-detail='[3,"XYZ",53,523,null]'>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:480.420200px;bottom:190.452600px;width:16.812000px;height:10.080000px;background-color:rgba(255,255,255,0.000001);"></div>
        </a></div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
    <div id="pf4" class="pf w0 h0" data-page-no="4">
        <div class="pc pc4 w0 h0">
            <div class="t m0 x4 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x4 h2 y1 ff3 fs1 fc0 sc0 ls5 ws8">20</div>
            <div class="t m0 x3 h3 y5c ff3 fs2 fc0 sc0 ls0 ws0">The first <span class="ff4">import</span> statement is
                used in the listing to load the <span class="ff4">@angular/core</span> module<span class="_ _1"></span>,
                which contains
            </div>
            <div class="t m0 x4 h3 y5d ff3 fs2 fc0 sc0 ls0 ws0">the key Angular functionality, including support for
                components<span class="_ _1"></span>. When working with modules, the <span class="ff4">import</span>
            </div>
            <div class="t m0 x4 h3 y5e ff3 fs2 fc0 sc0 ls0 ws0">statement specifies the types that ar<span
                    class="_ _1"></span>e imported between curly braces. In this case<span class="_ _1"></span>, the
                <span class="ff4">import</span> statement is
            </div>
            <div class="t m0 x4 h3 y5f ff3 fs2 fc0 sc0 ls0 ws0">used to load the <span class="ff4">Component</span> type
                from the module. The <span class="ff4">@angular/core</span> module con<span class="_ _1"></span>tains
                many classes that
            </div>
            <div class="t m0 x4 h4 y60 ff3 fs2 fc0 sc0 ls0 ws0">hav<span class="_ _1"></span>e been packaged together so
                that the browser can load them all in a single J<span class="_ _1"></span>a<span class="_ _1"></span>vaScript
                file.
            </div>
            <div class="t m0 x3 h3 y61 ff3 fs2 fc0 sc0 ls0 ws0">The other <span class="ff4">import</span> statements
                ar<span class="_ _1"></span>e used to declare dependencies on the data model classes defined
            </div>
            <div class="t m0 x4 h3 y62 ff3 fs2 fc0 sc0 ls0 ws0">earlier<span class="_ _2"></span>. The target for this
                kind of import starts with <span class="ff4">./</span>, which indicates that the module is defined
                r<span class="_ _1"></span>elative to
            </div>
            <div class="t m0 x4 h4 y63 ff3 fs2 fc0 sc0 ls0 ws0">the current file<span class="_ _1"></span>.</div>
            <div class="t m0 x3 h3 y64 ff3 fs2 fc0 sc0 ls0 ws0">Notice tha<span class="_ _1"></span>t neither <span
                    class="ff4">import</span> statement includes a file extension. This is because the r<span
                    class="_ _1"></span>elationship between
            </div>
            <div class="t m0 x4 h3 y65 ff3 fs2 fc0 sc0 ls0 ws0">the target of an <span class="ff4">import</span>
                statement and the file tha<span class="_ _1"></span>t is loaded by the browser is handled b<span
                        class="_ _1"></span>y the Angular build
            </div>
            <div class="t m0 x4 h4 y66 ff3 fs2 fc0 sc0 ls0 ws0">tools, which packa<span class="_ _1"></span>ge the
                application to send it to the browser<span class="_ _4"></span>, which I explain in more detail in
                Chapter <span class="fc2">11</span>.
            </div>
            <div class="t m0 x4 h6 y67 ff6 fs3 fc0 sc0 ls0 ws7"> Understanding <span class="_ _9"> </span>theDecorator
            </div>
            <div class="t m0 x4 h4 y68 ff3 fs2 fc0 sc0 ls0 ws0">The oddest<span class="_ _1"></span>-looking part of the
                code in the listing is this<span class="_ _0"></span>:
            </div>
            <div class="t m0 x4 h3 y69 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x4 h3 y6a ff4 fs2 fc0 sc0 ls0 ws0">@Component({</div>
            <div class="t m0 x4 h3 y6b ff4 fs2 fc0 sc0 ls0 ws0"> selector: &apos;app-root&apos;,</div>
            <div class="t m0 x4 h3 y6c ff4 fs2 fc0 sc0 ls0 ws0"> templateUrl: &apos;./app.component.html&apos;,</div>
            <div class="t m0 x4 h3 y6d ff4 fs2 fc0 sc0 ls0 ws0"> styleUrls: [&apos;./app.component.css&apos;]</div>
            <div class="t m0 x4 h3 y6e ff4 fs2 fc0 sc0 ls0 ws0">})</div>
            <div class="t m0 x4 h3 y6f ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h3 y70 ff3 fs2 fc0 sc0 ls0 ws0">This is an example of a <span
                    class="ff8">decorator</span>, which pr<span class="_ _1"></span>ovides metadata about a class<span
                    class="_ _1"></span>. This is the <span class="ff4">@Component</span></div>
            <div class="t m0 x4 h4 y71 ff3 fs2 fc0 sc0 ls0 ws0">decorator<span class="_ _4"></span>, and, as its name
                suggests, it tells Angular that this is a com<span class="_ _1"></span>ponent. The decorator pr<span
                        class="_ _1"></span>ovides
            </div>
            <div class="t m0 x4 h3 y72 ff3 fs2 fc0 sc0 ls0 ws0">configuration informa<span class="_ _1"></span>tion
                through its properties<span class="_ _1"></span>. This <span class="ff4">@Component</span> decorator
                specifies three properties:
            </div>
            <div class="t m0 x4 h3 y73 ff4 fs2 fc0 sc0 ls0 ws0">selector<span class="ff3">, </span>templateUrl<span
                    class="ff3">, and </span>styleUrls<span class="ff3">.</span></div>
            <div class="t m0 x3 h3 y74 ff3 fs2 fc0 sc0 ls0 ws0">The <span class="ff4">selector</span> property specifies
                a CSS selector that matches the HTML element to which the
            </div>
            <div class="t m0 x4 h3 y75 ff3 fs2 fc0 sc0 ls0 ws0">component will be applied. The <span class="ff4">app-root</span>
                element specified by this decora<span class="_ _1"></span>tor is the default set by the
            </div>
            <div class="t m0 x4 h3 y76 ff4 fs2 fc0 sc0 ls0 ws0">angular-cli<span class="ff3"> package. I<span
                    class="_ _1"></span>t corresponds to an HTML element that was added to the <span class="ff4">index.html</span> file<span
                    class="_ _1"></span>, which you </span></div>
            <div class="t m0 x4 h3 y77 ff3 fs2 fc0 sc0 ls0 ws0">can find in the <span class="ff4">src</span> folder and
                that was cr<span class="_ _1"></span>eated with the following content<span class="_ _0"></span>:
            </div>
            <div class="t m0 x4 h3 y78 ff4 fs2 fc0 sc0 ls0 ws0">&lt;!doctype html&gt;</div>
            <div class="t m0 x4 h3 y79 ff4 fs2 fc0 sc0 ls0 ws0">&lt;html lang=&quot;en&quot;&gt;</div>
            <div class="t m0 x4 h3 y7a ff4 fs2 fc0 sc0 ls0 ws0">&lt;head&gt;</div>
            <div class="t m0 x4 h3 y7b ff4 fs2 fc0 sc0 ls0 ws0"> &lt;meta charset=&quot;utf-8&quot;&gt;</div>
            <div class="t m0 x4 h3 y7c ff4 fs2 fc0 sc0 ls0 ws0"> &lt;title&gt;Todo&lt;/title&gt;</div>
            <div class="t m0 x4 h3 y7d ff4 fs2 fc0 sc0 ls0 ws0"> &lt;base href=&quot;/&quot;&gt;</div>
            <div class="t m0 x4 h3 y7e ff4 fs2 fc0 sc0 ls0 ws0"> &lt;meta name=&quot;viewport&quot; content=&quot;width=device-width,
                initial-scale=1&quot;&gt;
            </div>
            <div class="t m0 x4 h3 y7f ff4 fs2 fc0 sc0 ls0 ws0"> &lt;link rel=&quot;icon&quot; type=&quot;image/x-icon&quot;
                href=&quot;favicon.ico&quot;&gt;
            </div>
            <div class="t m0 x4 h3 y80 ff4 fs2 fc0 sc0 ls0 ws0">&lt;/head&gt;</div>
            <div class="t m0 x4 h3 y81 ff4 fs2 fc0 sc0 ls0 ws0">&lt;body&gt;</div>
            <div class="t m0 x4 h5 y82 ff4 fs2 fc0 sc0 ls0 ws0"><span
                    class="ff5">&lt;app-root&gt;&lt;/app-root&gt;</span></div>
            <div class="t m0 x4 h3 y83 ff4 fs2 fc0 sc0 ls0 ws0">&lt;/body&gt;</div>
            <div class="t m0 x4 h3 y84 ff4 fs2 fc0 sc0 ls0 ws0">&lt;/html&gt;</div>
            <div class="t m0 x3 h3 y85 ff3 fs2 fc0 sc0 ls0 ws0">I hav<span class="_ _1"></span>e highlighted the HTML
                element. The <span class="ff4">selector</span> property tells Angular th<span class="_ _1"></span>at the
                content generated
            </div>
            <div class="t m0 x4 h3 y86 ff3 fs2 fc0 sc0 ls0 ws0">by the component should be inserted into the <span
                    class="ff4">app-root</span> element<span class="_ _1"></span>.
            </div>
            <div class="t m0 x3 h3 y87 ff3 fs2 fc0 sc0 ls0 ws0">The <span class="ff4">templateUrl</span> property is to
                specify the component’<span class="_ _2"></span>s template, which is the <span class="ff4">app.component.html</span>
            </div>
            <div class="t m0 x4 h3 y88 ff3 fs2 fc0 sc0 ls0 ws0">file for this component. The <span
                    class="ff4">styleUrls</span> pr<span class="_ _1"></span>operty specifies one or more CSS
                stylesheets that are used to style
            </div>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:559.417300px;bottom:679.294200px;width:9.000000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
        </div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
    <div id="pf5" class="pf w0 h0" data-page-no="5">
        <div class="pc pc5 w0 h0">
            <div class="t m0 x0 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x1 h2 y1 ff3 fs1 fc0 sc0 ls6 ws9">21</div>
            <div class="t m0 x3 h4 y2 ff3 fs2 fc0 sc0 ls0 ws0">the elements produced b<span class="_ _1"></span>y the
                component and its template. I<span class="_ _1"></span>’ll use this feature later shortly to impr<span
                        class="_ _1"></span>ove the
            </div>
            <div class="t m0 x3 h4 y3 ff3 fs2 fc0 sc0 ls0 ws0">appearance of the example applica<span
                    class="_ _1"></span>tion.
            </div>
            <div class="t m0 x3 h6 y89 ff6 fs3 fc0 sc0 ls0 ws7"> Understanding <span class="_ _9"> </span>theClass
            </div>
            <div class="t m0 x3 h4 y8a ff3 fs2 fc0 sc0 ls0 ws0">The final part of the listing defines a class tha<span
                    class="_ _1"></span>t Angular can instantiate to cr<span class="_ _1"></span>eate the component.
            </div>
            <div class="t m0 x3 h3 y8b ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h3 y8c ff4 fs2 fc0 sc0 ls0 ws0">export class AppComponent {</div>
            <div class="t m0 x3 h3 y8d ff4 fs2 fc0 sc0 ls0 ws0"> private list = new TodoList(&quot;Bob&quot;, [</div>
            <div class="t m0 x3 h3 y8e ff4 fs2 fc0 sc0 ls0 ws0"> new TodoItem(&quot;Go for run&quot;, true),</div>
            <div class="t m0 x3 h3 y8f ff4 fs2 fc0 sc0 ls0 ws0"> new TodoItem(&quot;Get flowers&quot;),</div>
            <div class="t m0 x3 h3 y90 ff4 fs2 fc0 sc0 ls0 ws0"> new TodoItem(&quot;Collect tickets&quot;),</div>
            <div class="t m0 x3 h3 y91 ff4 fs2 fc0 sc0 ls0 ws0"> ]);</div>
            <div class="t m0 x3 h3 y92 ff4 fs2 fc0 sc0 ls0 ws0"> get username(): string {</div>
            <div class="t m0 x3 h3 y93 ff4 fs2 fc0 sc0 ls0 ws0"> return this.list.user;</div>
            <div class="t m0 x3 h3 y94 ff4 fs2 fc0 sc0 ls0 ws0"> }</div>
            <div class="t m0 x3 h3 y95 ff4 fs2 fc0 sc0 ls0 ws0"> get itemCount(): number {</div>
            <div class="t m0 x3 h3 y96 ff4 fs2 fc0 sc0 ls0 ws0"> return this.list.items.filter(item =&gt;
                !item.complete).length;
            </div>
            <div class="t m0 x3 h3 y97 ff4 fs2 fc0 sc0 ls0 ws0"> }</div>
            <div class="t m0 x3 h3 y98 ff4 fs2 fc0 sc0 ls0 ws0">}</div>
            <div class="t m0 x3 h3 y99 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x2 h3 y9a ff3 fs2 fc0 sc0 ls0 ws0">These statements define a class called <span
                    class="ff4">AppComponent</span> th<span class="_ _1"></span>at has a private <span
                    class="ff4">list</span> property, which is assigned
            </div>
            <div class="t m0 x3 h3 y9b ff3 fs2 fc0 sc0 ls0 ws0">a <span class="ff4">TodoList</span> object, and is
                populated with an array of <span class="ff4">TodoItem</span> objects<span class="_ _1"></span>. The
                <span class="ff4">AppComponent</span> class defines read-
            </div>
            <div class="t m0 x3 h3 y9c ff3 fs2 fc0 sc0 ls0 ws0">only properties named <span class="ff4">username</span>
                and <span class="ff4">itemCount</span> that r<span class="_ _1"></span>ely on the <span class="ff4">TodoList</span>
                object to produce their values.
            </div>
            <div class="t m0 x3 h3 y9d ff3 fs2 fc0 sc0 ls0 ws0">The <span class="ff4">username</span> property returns
                the v<span class="_ _1"></span>alue of the <span class="ff4">TodoList.user</span> property, and the
                <span class="ff4">itemCount</span> property uses
            </div>
            <div class="t m0 x3 h3 y9e ff3 fs2 fc0 sc0 ls0 ws0">the standard J<span class="_ _1"></span>av<span
                    class="_ _1"></span>aScr<span class="_ _0"></span>ipt array feat<span class="_ _1"></span>ures to
                filter the <span class="ff4">Todoitem</span> objects managed by the <span class="ff4">TodoList</span> to
                select those
            </div>
            <div class="t m0 x3 h4 y9f ff3 fs2 fc0 sc0 ls0 ws0">that ar<span class="_ _1"></span>e incomplete and
                returns the number of ma<span class="_ _1"></span>tching objects it finds.
            </div>
            <div class="t m0 x2 h3 ya0 ff3 fs2 fc0 sc0 ls0 ws0">The value for the <span class="ff4">itemCount</span>
                property is pr<span class="_ _1"></span>oduced using a <span class="ff8">lambda function</span>,
                als<span class="_ _0"></span>o known as a <span class="ff8">fat arrow </span></div>
            <div class="t m0 x3 h4 ya1 ff8 fs2 fc0 sc0 ls0 ws0">function<span class="ff3">, which is a more concise way of expr<span
                    class="_ _1"></span>essing a standard J<span class="_ _1"></span>av<span class="_ _1"></span>aScript function. The ar<span
                    class="_ _0"></span>row in the lam<span class="_ _1"></span>bda </span></div>
            <div class="t m0 x3 h3 ya2 ff3 fs2 fc0 sc0 ls0 ws0">expressions is r<span class="_ _1"></span>ead as “<span
                    class="_ _1"></span>goes to<span class="_ _1"></span>” such as “<span class="ff4">item</span> goes
                to not <span class="ff4">item.complete</span>.<span class="_ _4"></span>” Lambda expr<span
                        class="_ _1"></span>essions are a recen<span class="_ _1"></span>t
            </div>
            <div class="t m0 x3 h4 ya3 ff3 fs2 fc0 sc0 ls0 ws0">addition to the J<span class="_ _1"></span>avaScript
                language specification, and they pr<span class="_ _1"></span>ovide an alternative to the con<span
                        class="_ _1"></span>ventional way of
            </div>
            <div class="t m0 x3 h3 ya4 ff3 fs2 fc0 sc0 ls0 ws0">using functions as arguments like this<span class="ff4">:</span>
            </div>
            <div class="t m0 x3 h3 ya5 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h5 ya6 ff4 fs2 fc0 sc0 ls0 ws0">return this.model.items.filter(<span class="ff5">function (item) { return !item.complete }</span>);
            </div>
            <div class="t m0 x3 h3 ya7 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x2 h4 ya8 ff3 fs2 fc0 sc0 ls0 ws0">When you sa<span class="_ _1"></span>ve the changes to
                the TypeScript file, the Angular developmen<span class="_ _1"></span>t tools will build the project.
            </div>
            <div class="t m0 x3 h4 ya9 ff3 fs2 fc0 sc0 ls0 ws0">There should be no err<span class="_ _1"></span>ors this
                time because the component has defined the properties that the templa<span class="_ _1"></span>te
            </div>
            <div class="t m0 x3 h4 yaa ff3 fs2 fc0 sc0 ls0 ws0">requires<span class="_ _1"></span>. The browser window
                will be automa<span class="_ _1"></span>tically reloaded, showing the output in F<span
                        class="_ _1"></span>igure<span class="fc2">2-4</span>.
            </div>
            <a class="l" href="#pf6" data-dest-detail='[6,"XYZ",35,644,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:524.024800px;bottom:198.481400px;width:12.312000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a></div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
    <div id="pf6" class="pf w0 h0" data-page-no="6">
        <div class="pc pc6 w0 h0"><img class="bi x4 yab w1 h8" alt=""
                                       src=""/>
            <div class="t m0 x4 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x4 h2 y1 ff3 fs1 fc0 sc0 ls7 wsa">22</div>
            <div class="t m0 x4 h7 yac ff3 fs3 fc0 sc0 ls0 ws0"><span class="_ _6"></span>Styling theHTML Elements
            </div>
            <div class="t m0 x4 h4 yad ff3 fs2 fc0 sc0 ls0 ws0">I hav<span class="_ _1"></span>e reached the point where
                Angular is gener<span class="_ _1"></span>ating content, but the r<span class="_ _1"></span>esults are
                just plain tex<span class="_ _1"></span>t. I am going
            </div>
            <div class="t m0 x4 h4 yae ff3 fs2 fc0 sc0 ls0 ws0">to add the Bootstrap CSS framework to the applica<span
                    class="_ _1"></span>tion and use it to style the content. There ar<span class="_ _1"></span>e many
                good
            </div>
            <div class="t m0 x4 h4 yaf ff3 fs2 fc0 sc0 ls0 ws0">CSS frameworks availa<span class="_ _1"></span>ble, but
                Bootstrap is one of the most popular<span class="_ _4"></span>. I provide a brief introduction to
                usin<span class="_ _1"></span>g
            </div>
            <div class="t m0 x4 h4 yb0 ff3 fs2 fc0 sc0 ls0 ws0">Bootstrap in Chapter <span class="fc2">4</span>, so
                don’t worry if you have not used it befor<span class="_ _1"></span>e. Stop the Angular developmen<span
                        class="_ _1"></span>t tools
            </div>
            <div class="t m0 x4 h4 yb1 ff3 fs2 fc0 sc0 ls0 ws0">and use the command prompt to run the command sho<span
                    class="_ _1"></span>wn in Listing <span class="fc2">2-11</span> to add the Bootstrap package to
            </div>
            <div class="t m0 x4 h4 yb2 ff3 fs2 fc0 sc0 ls0 ws0">the project.</div>
            <div class="t m0 x4 h4 yb3 ff7 fs2 fc0 sc0 ls0 ws0">Listing 2-11. <span class="_ _5"> </span><span
                    class="ff3">Adding a P<span class="_ _1"></span>ackage to the Example Project</span></div>
            <div class="t m0 x4 h3 yb4 ff4 fs2 fc0 sc0 ls0 ws0">npm install bootstrap@4.4.1</div>
            <div class="t m0 x3 h4 yb5 ff3 fs2 fc0 sc0 ls0 ws0">This command installs version 4.4.1 of the Bootstra<span
                    class="_ _1"></span>p package, which is the version I use thro<span class="_ _1"></span>ughout this
            </div>
            <div class="t m0 x4 h4 yb6 ff3 fs2 fc0 sc0 ls0 ws0">book. T<span class="_ _2"></span>o include the Bootstrap
                CSS styles in the HTML content sent to the bro<span class="_ _1"></span>wser<span class="_ _2"></span>,
                add the entr<span class="_ _0"></span>y shown in
            </div>
            <div class="t m0 x4 h3 yb7 ff3 fs2 fc0 sc0 ls0 ws0">Listing <span class="fc2">2-12</span> to the <span
                    class="ff4">styles</span> section of the <span class="ff4">angular.json</span> file, which was added
                to the <span class="ff4">todo</span> folder by the <span class="ff4">ng new</span></div>
            <div class="t m0 x4 h4 yb8 ff3 fs2 fc0 sc0 ls0 ws0">command when the project was cr<span
                    class="_ _1"></span>eated.
            </div>
            <div class="t m0 x5 h9 yb9 ff1 fs1 fc1 sc0 ls0 ws0"><span class="_ _a"></span><span class="ff2">■<span
                    class="_ _b"> </span><span class="ff9 fc0">Caution<span class="ff1"> <span class="_ _c"> </span>There are two <span
                    class="ff4 fs2">styles</span> sections in the <span class="ff4 fs2">angular.json</span> file.<span
                    class="_ _1"></span> <span class="_ _1"></span>Add the setting shown in Listing <span class="fc2">2-12</span> to </span></span></span>
            </div>
            <div class="t m0 x4 h9 yba ff1 fs1 fc0 sc0 ls0 ws0">the one that is closest to the top of the file.</div>
            <div class="t m0 x4 h4 ybb ff7 fs2 fc0 sc0 ls0 ws0">Listing 2-12. <span class="_ _5"> </span><span
                    class="ff3">Configuring CSS in the angular<span class="_ _2"></span>.json File in the todo F<span
                    class="_ _1"></span>older</span></div>
            <div class="t m0 x4 h3 ybc ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x4 h3 ybd ff4 fs2 fc0 sc0 ls0 ws0">&quot;sourceRoot&quot;: &quot;src&quot;,</div>
            <div class="t m0 x4 h3 ybe ff4 fs2 fc0 sc0 ls0 ws0">&quot;prefix&quot;: &quot;app&quot;,</div>
            <div class="t m0 x4 h3 ybf ff4 fs2 fc0 sc0 ls0 ws0">&quot;architect&quot;: {</div>
            <div class="t m0 x4 h3 yc0 ff4 fs2 fc0 sc0 ls0 ws0">&quot;build&quot;: {</div>
            <div class="t m0 x4 h3 yc1 ff4 fs2 fc0 sc0 ls0 ws0"> &quot;builder&quot;: &quot;@angular-devkit/build-angular:browser&quot;,</div>
            <div class="t m0 x4 h3 yc2 ff4 fs2 fc0 sc0 ls0 ws0"> &quot;options&quot;: {</div>
            <div class="t m0 x4 ha yc3 ff7 fs2 fc0 sc0 ls0 ws0">Figure 2-4.<span class="ff8"> <span
                    class="_ _b"> </span>G<span class="_ _0"></span>enerating content in the examp<span
                    class="_ _1"></span>le application</span></div>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:153.081500px;bottom:506.402000px;width:4.500000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            <a class="l" href="#pf6" data-dest-detail='[6,"XYZ",35,356,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:389.710100px;bottom:492.102000px;width:16.812000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",35,177,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:83.022550px;bottom:347.105200px;width:16.812000px;height:10.080000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a><a class="l" href="#pf6" data-dest-detail='[6,"XYZ",35,177,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:542.664200px;bottom:286.655200px;width:17.920000px;height:11.914000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a></div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
    <div id="pf7" class="pf w0 h0" data-page-no="7">
        <div class="pc pc7 w0 h0"><img class="bi x3 yc4 w1 hb" alt=""
                                       src=""/>
            <div class="t m0 x0 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x6 h2 y1 ff3 fs1 fc0 sc0 ls8 wsb">23</div>
            <div class="t m0 x3 h3 y5c ff4 fs2 fc0 sc0 ls0 ws0"> &quot;outputPath&quot;: &quot;dist/todo&quot;,</div>
            <div class="t m0 x3 h3 y5d ff4 fs2 fc0 sc0 ls0 ws0"> &quot;index&quot;: &quot;src/index.html&quot;,</div>
            <div class="t m0 x3 h3 y5e ff4 fs2 fc0 sc0 ls0 ws0"> &quot;main&quot;: &quot;src/main.ts&quot;,</div>
            <div class="t m0 x3 h3 y5f ff4 fs2 fc0 sc0 ls0 ws0"> &quot;polyfills&quot;: &quot;src/polyfills.ts&quot;,
            </div>
            <div class="t m0 x3 h3 y60 ff4 fs2 fc0 sc0 ls0 ws0"> &quot;tsConfig&quot;: &quot;tsconfig.app.json&quot;,
            </div>
            <div class="t m0 x3 h3 y61 ff4 fs2 fc0 sc0 ls0 ws0"> &quot;aot&quot;: true,</div>
            <div class="t m0 x3 h3 y62 ff4 fs2 fc0 sc0 ls0 ws0"> &quot;assets&quot;: [</div>
            <div class="t m0 x3 h3 y63 ff4 fs2 fc0 sc0 ls0 ws0"> &quot;src/favicon.ico&quot;,</div>
            <div class="t m0 x3 h3 y64 ff4 fs2 fc0 sc0 ls0 ws0"> &quot;src/assets&quot;</div>
            <div class="t m0 x3 h3 y65 ff4 fs2 fc0 sc0 ls0 ws0"> ],</div>
            <div class="t m0 x3 h3 y66 ff4 fs2 fc0 sc0 ls0 ws0"> &quot;styles&quot;: [</div>
            <div class="t m0 x3 h3 yc5 ff4 fs2 fc0 sc0 ls0 ws0"> &quot;src/styles.css&quot;,</div>
            <div class="t m0 x3 h5 yc6 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&quot;node_modules/bootstrap/dist/css/bootstrap.min.css&quot;</span>
            </div>
            <div class="t m0 x3 h3 yc7 ff4 fs2 fc0 sc0 ls0 ws0"> ],</div>
            <div class="t m0 x3 h3 yc8 ff4 fs2 fc0 sc0 ls0 ws0"> &quot;scripts&quot;: []</div>
            <div class="t m0 x3 h3 yc9 ff4 fs2 fc0 sc0 ls0 ws0"> },</div>
            <div class="t m0 x3 h3 yca ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x2 h3 ycb ff3 fs2 fc0 sc0 ls0 ws0">As I explain in Chapter <span class="fc2">11</span>, the
                <span class="ff4">angular.json</span> file is used to configur<span class="_ _1"></span>e the project
                tools, and the
            </div>
            <div class="t m0 x3 h4 ycc ff3 fs2 fc0 sc0 ls0 ws0">statement shown in the listing incorpor<span
                    class="_ _1"></span>ates the Bootstrap CSS file into the project so that it will be included
            </div>
            <div class="t m0 x3 h4 ycd ff3 fs2 fc0 sc0 ls0 ws0">in the content sent to the br<span class="_ _1"></span>owser<span
                    class="_ _2"></span>.
            </div>
            <div class="t m0 x2 h4 yce ff3 fs2 fc0 sc0 ls0 ws0">Bootstrap works b<span class="_ _1"></span>y adding
                elements to classes. In Listing <span class="fc2">2-13</span>, I h<span class="_ _1"></span>ave added
                the elements in the
            </div>
            <div class="t m0 x3 h4 ycf ff3 fs2 fc0 sc0 ls0 ws0">template to classes tha<span class="_ _1"></span>t will
                change their appearance.
            </div>
            <div class="t m0 x3 h4 yd0 ff7 fs2 fc0 sc0 ls0 ws0">Listing 2-13. <span class="_ _5"> </span><span
                    class="ff3">Styling Conten<span class="_ _1"></span>t in the app.componen<span class="_ _1"></span>t.html File in the sr<span
                    class="_ _1"></span>c/app Folder</span></div>
            <div class="t m0 x3 h5 yd1 ff5 fs2 fc0 sc0 ls0 ws0">&lt;h3 class=&quot;bg-primary text-center text-white p-2&quot;&gt;</div>
            <div class="t m0 x3 h3 yd2 ff4 fs2 fc0 sc0 ls0 ws0"> {{ username }}&apos;s To Do List</div>
            <div class="t m0 x3 h5 yd3 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;h6 class=&quot;mt-1&quot;&gt;{{ itemCount }} Incomplete Items&lt;/h6&gt;</span>
            </div>
            <div class="t m0 x3 h3 yd4 ff4 fs2 fc0 sc0 ls0 ws0">&lt;/h3&gt;</div>
            <div class="t m0 x2 h4 yd5 ff3 fs2 fc0 sc0 ls0 ws0">Use the command prom<span class="_ _1"></span>pt to run
                the command shown in Listing <span class="fc2">2-14</span>, which will start the Angular
            </div>
            <div class="t m0 x3 h4 yd6 ff3 fs2 fc0 sc0 ls0 ws0">development tools again.</div>
            <div class="t m0 x3 h4 yd7 ff7 fs2 fc0 sc0 ls0 ws0">Listing 2-14. <span class="_ _5"> </span><span
                    class="ff3">Starting the Angular Development T<span class="_ _2"></span>ools</span></div>
            <div class="t m0 x3 h3 yd8 ff4 fs2 fc0 sc0 ls0 ws0">ng serve</div>
            <div class="t m0 x2 h4 yd9 ff3 fs2 fc0 sc0 ls0 ws0">The browser m<span class="_ _1"></span>ay be updated
                automatically, but if not<span class="_ _1"></span>, manually reload to see the styled content<span
                        class="_ _1"></span>, which
            </div>
            <div class="t m0 x3 h4 yda ff3 fs2 fc0 sc0 ls0 ws0">is shown in Figur<span class="_ _1"></span>e<span
                    class="fc2">2-5</span>.
            </div>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:208.972400px;bottom:564.847400px;width:9.000000px;height:10.080000px;background-color:rgba(255,255,255,0.000001);"></div>
            <a class="l" href="#pf7" data-dest-detail='[7,"XYZ",53,379,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:377.742300px;bottom:521.994200px;width:16.812000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a><a class="l" href="#pf7" data-dest-detail='[7,"XYZ",53,272,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:416.258700px;bottom:383.544200px;width:16.812000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a><a class="l" href="#pf8" data-dest-detail='[8,"XYZ",35,644,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:162.745700px;bottom:252.894200px;width:12.312000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a></div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
    <div id="pf8" class="pf w0 h0" data-page-no="8">
        <div class="pc pc8 w0 h0"><img class="bi x7 ydb w2 hc" alt=""
                                       src=""/>
            <div class="t m0 x4 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x4 h2 y1 ff3 fs1 fc0 sc0 ls8 wsb">24</div>
            <div class="t m0 x4 h7 ydc ff3 fs3 fc0 sc0 ls0 ws0"><span class="_ _6"></span>Displaying theList ofT<span
                    class="_ _4"></span>o-Do I<span class="_ _1"></span>tems
            </div>
            <div class="t m0 x4 h4 ydd ff3 fs2 fc0 sc0 ls0 ws0">The next step is to display the to-do it<span
                    class="_ _1"></span>ems. Listing <span class="fc2">2-15</span> adds a property to the component
                tha<span class="_ _1"></span>t provides
            </div>
            <div class="t m0 x4 h4 yde ff3 fs2 fc0 sc0 ls0 ws0">access to the items in the list.</div>
            <div class="t m0 x4 h4 ydf ff7 fs2 fc0 sc0 ls0 ws0">Listing 2-15. <span class="_ _5"> </span><span
                    class="ff3">Adding a Pr<span class="_ _1"></span>opert<span class="_ _0"></span>y in the app<span
                    class="_ _1"></span>.component.ts F<span class="_ _1"></span>ile in the src/app Folder</span></div>
            <div class="t m0 x4 h3 ye0 ff4 fs2 fc0 sc0 ls0 ws0">import { Component } from &apos;@angular/core&apos;;
            </div>
            <div class="t m0 x4 h3 ye1 ff4 fs2 fc0 sc0 ls0 ws0">import { TodoList } from &quot;./todoList&quot;;</div>
            <div class="t m0 x4 h3 ye2 ff4 fs2 fc0 sc0 ls0 ws0">import { TodoItem } from &quot;./todoItem&quot;;</div>
            <div class="t m0 x4 h3 ye3 ff4 fs2 fc0 sc0 ls0 ws0">@Component({</div>
            <div class="t m0 x4 h3 ye4 ff4 fs2 fc0 sc0 ls0 ws0"> selector: &apos;app-root&apos;,</div>
            <div class="t m0 x4 h3 ye5 ff4 fs2 fc0 sc0 ls0 ws0"> templateUrl: &apos;./app.component.html&apos;,</div>
            <div class="t m0 x4 h3 ye6 ff4 fs2 fc0 sc0 ls0 ws0"> styleUrls: [&apos;./app.component.css&apos;]</div>
            <div class="t m0 x4 h3 ye7 ff4 fs2 fc0 sc0 ls0 ws0">})</div>
            <div class="t m0 x4 h3 ye8 ff4 fs2 fc0 sc0 ls0 ws0">export class AppComponent {</div>
            <div class="t m0 x4 h3 ye9 ff4 fs2 fc0 sc0 ls0 ws0"> private list = new TodoList(&quot;Bob&quot;, [</div>
            <div class="t m0 x4 h3 yea ff4 fs2 fc0 sc0 ls0 ws0"> new TodoItem(&quot;Go for run&quot;),</div>
            <div class="t m0 x4 h3 yeb ff4 fs2 fc0 sc0 ls0 ws0"> new TodoItem(&quot;Get flowers&quot;),</div>
            <div class="t m0 x4 h3 yec ff4 fs2 fc0 sc0 ls0 ws0"> new TodoItem(&quot;Collect tickets&quot;),</div>
            <div class="t m0 x4 h3 yed ff4 fs2 fc0 sc0 ls0 ws0"> ]);</div>
            <div class="t m0 x4 h3 yee ff4 fs2 fc0 sc0 ls0 ws0"> get username(): string {</div>
            <div class="t m0 x4 h3 yef ff4 fs2 fc0 sc0 ls0 ws0"> return this.list.user;</div>
            <div class="t m0 x4 h3 yf0 ff4 fs2 fc0 sc0 ls0 ws0"> }</div>
            <div class="t m0 x4 h3 yf1 ff4 fs2 fc0 sc0 ls0 ws0"> get itemCount(): number {</div>
            <div class="t m0 x4 h3 yf2 ff4 fs2 fc0 sc0 ls0 ws0"> return this.list.items.filter(item =&gt;
                !item.complete).length;
            </div>
            <div class="t m0 x4 h3 yf3 ff4 fs2 fc0 sc0 ls0 ws0"> }</div>
            <div class="t m0 x4 ha yf4 ff7 fs2 fc0 sc0 ls0 ws0">Figure 2-5.<span class="ff8"> <span
                    class="_ _b"> </span>Styling the HTML produced b<span class="_ _0"></span>y the application</span>
            </div>
            <a class="l" href="#pf8" data-dest-detail='[8,"XYZ",35,370,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:293.585500px;bottom:510.035500px;width:16.812000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a></div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
    <div id="pf9" class="pf w0 h0" data-page-no="9">
        <div class="pc pc9 w0 h0">
            <div class="t m0 x0 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x6 h2 y1 ff3 fs1 fc0 sc0 ls9 wsc">25</div>
            <div class="t m0 x3 h5 yf5 ff4 fs2 fc0 sc0 ls0 ws0"><span
                    class="ff5">get items(): readonly TodoItem[] {</span></div>
            <div class="t m0 x3 h5 yf6 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">return this.list.items;</span></div>
            <div class="t m0 x3 h5 yf7 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">}</span></div>
            <div class="t m0 x3 h3 yf8 ff4 fs2 fc0 sc0 ls0 ws0">}</div>
            <div class="t m0 x2 h4 yf9 ff3 fs2 fc0 sc0 ls0 ws0">T<span class="_ _2"></span>o display details of each
                item to the user<span class="_ _2"></span>, I added the elements shown in Listing <span
                        class="fc2">2-16</span> to the templa<span class="_ _1"></span>te.
            </div>
            <div class="t m0 x3 h4 yfa ff7 fs2 fc0 sc0 ls0 ws0">Listing 2-16. <span class="_ _5"> </span><span
                    class="ff3">Adding Elements in the app<span class="_ _1"></span>.component.h<span
                    class="_ _1"></span>tml File in the src/app F<span class="_ _1"></span>older</span></div>
            <div class="t m0 x3 h3 yfb ff4 fs2 fc0 sc0 ls0 ws0">&lt;h3 class=&quot;bg-primary text-center text-white p-2&quot;&gt;</div>
            <div class="t m0 x3 h3 yfc ff4 fs2 fc0 sc0 ls0 ws0"> {{ username }}&apos;s To Do List</div>
            <div class="t m0 x3 h3 yfd ff4 fs2 fc0 sc0 ls0 ws0"> &lt;h6 class=&quot;mt-1&quot;&gt;{{ itemCount }}
                Incomplete Items&lt;/h6&gt;
            </div>
            <div class="t m0 x3 h3 yfe ff4 fs2 fc0 sc0 ls0 ws0">&lt;/h3&gt;</div>
            <div class="t m0 x3 h5 yff ff5 fs2 fc0 sc0 ls0 ws0">&lt;table class=&quot;table table-striped table-bordered
                table-sm&quot;&gt;
            </div>
            <div class="t m0 x3 h5 y100 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;thead&gt;</span></div>
            <div class="t m0 x3 h5 y101 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;tr&gt;&lt;th&gt;#&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Done&lt;/th&gt;&lt;/tr&gt;</span>
            </div>
            <div class="t m0 x3 h5 y102 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;/thead&gt;</span></div>
            <div class="t m0 x3 h5 y103 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;tbody&gt;</span></div>
            <div class="t m0 x3 h5 y104 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;tr *ngFor=&quot;let item of items; let i = index&quot;&gt;</span>
            </div>
            <div class="t m0 x3 h5 y105 ff4 fs2 fc0 sc0 ls0 ws0"><span
                    class="ff5">&lt;td&gt;{{ i + 1 }}&lt;/td&gt;</span></div>
            <div class="t m0 x3 h5 y106 ff4 fs2 fc0 sc0 ls0 ws0"><span
                    class="ff5">&lt;td&gt;{{ item.task }}&lt;/td&gt;</span></div>
            <div class="t m0 x3 h5 y107 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;td [ngSwitch]=&quot;item.complete&quot;&gt;</span>
            </div>
            <div class="t m0 x3 h5 y108 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;span *ngSwitchCase=&quot;true&quot;&gt;Yes&lt;/span&gt;</span>
            </div>
            <div class="t m0 x3 h5 y109 ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;span *ngSwitchDefault&gt;No&lt;/span&gt;</span>
            </div>
            <div class="t m0 x3 h5 y10a ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;/td&gt;</span></div>
            <div class="t m0 x3 h5 y10b ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;/tr&gt;</span></div>
            <div class="t m0 x3 h5 y10c ff4 fs2 fc0 sc0 ls0 ws0"><span class="ff5">&lt;/tbody&gt;</span></div>
            <div class="t m0 x3 h5 y10d ff5 fs2 fc0 sc0 ls0 ws0">&lt;/table&gt;</div>
            <div class="t m0 x2 h3 y10e ff3 fs2 fc0 sc0 ls0 ws0">The additions to the template r<span
                    class="_ _1"></span>ely on several different Angul<span class="_ _1"></span>ar features. T<span
                    class="_ _1"></span>he first is the <span class="ff4">*ngFor</span></div>
            <div class="t m0 x3 h4 y10f ff3 fs2 fc0 sc0 ls0 ws0">expression, which is used to r<span
                    class="_ _1"></span>epeat a region of content for each item in an arra<span class="_ _1"></span>y.
                This is an example of a
            </div>
            <div class="t m0 x3 h4 y110 ff8 fs2 fc0 sc0 ls0 ws0">directive<span class="ff3">, which I describe in Chapters <span
                    class="fc2">13</span>–<span class="fc2">16</span> (<span class="_ _1"></span>directives are a big part of Angular developmen<span
                    class="_ _1"></span>t, which is  </span></div>
            <div class="t m0 x3 h3 y111 ff3 fs2 fc0 sc0 ls0 ws0">why they are described in several chapter<span
                    class="_ _1"></span>s). The <span class="ff4">*ngFor</span> expression is applied to an attribute of
                an element<span class="_ _1"></span>,
            </div>
            <div class="t m0 x3 h4 y112 ff3 fs2 fc0 sc0 ls0 ws0">like this:</div>
            <div class="t m0 x3 h3 y113 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h5 y114 ff4 fs2 fc0 sc0 ls0 ws0">&lt;tr <span class="ff5">*ngFor=&quot;let item of items; let i = index&quot;</span>&gt;
            </div>
            <div class="t m0 x3 h3 y115 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x2 h3 y116 ff3 fs2 fc0 sc0 ls0 ws0">This expression tells Ang<span class="_ _1"></span>ular
                to treat the <span class="ff4">tr</span> element to which it has been applied as a templa<span
                        class="_ _1"></span>te that
            </div>
            <div class="t m0 x3 h3 y117 ff3 fs2 fc0 sc0 ls0 ws0">should be repeated for every object returned by the com<span
                    class="_ _1"></span>ponent’<span class="_ _1"></span>s <span class="ff4">items</span> property. The
                <span class="ff4">let item</span> part of the
            </div>
            <div class="t m0 x3 h3 y118 ff3 fs2 fc0 sc0 ls0 ws0">expression specifies tha<span class="_ _1"></span>t
                each object should be assigned to a variable called <span class="ff4">item</span> so that it can be
                referr<span class="_ _1"></span>ed to
            </div>
            <div class="t m0 x3 h4 y119 ff3 fs2 fc0 sc0 ls0 ws0">within the template.</div>
            <div class="t m0 x2 h3 y11a ff3 fs2 fc0 sc0 ls0 ws0">The <span class="ff4">ngFor</span> expression also
                keeps tr<span class="_ _1"></span>ack of the index of the current object in the array tha<span
                        class="_ _1"></span>t is being
            </div>
            <div class="t m0 x3 h3 y11b ff3 fs2 fc0 sc0 ls0 ws0">processed, and this is assigned to a second variable
                called <span class="ff4">i</span>.
            </div>
            <div class="t m0 x3 h3 y11c ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h5 y11d ff4 fs2 fc0 sc0 ls0 ws0">&lt;tr *ngFor=&quot;let item of items; <span
                    class="ff5">let i = index</span>&quot;&gt;
            </div>
            <div class="t m0 x3 h3 y11e ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <a class="l" href="#pf9" data-dest-detail='[9,"XYZ",53,566,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:493.220000px;bottom:750.724000px;width:16.811000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:261.773200px;bottom:369.174000px;width:9.000000px;height:10.080000px;background-color:rgba(255,255,255,0.000001);"></div>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:278.972200px;bottom:369.174000px;width:9.000000px;height:10.080000px;background-color:rgba(255,255,255,0.000001);"></div>
        </div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
    <div id="pfa" class="pf w0 h0" data-page-no="a">
        <div class="pc pca w0 h0"><img class="bi x4 y11f w1 hd" alt=""
                                       src=""/>
            <div class="t m0 x4 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x4 h2 y1 ff3 fs1 fc0 sc0 lsa wsd">26</div>
            <div class="t m0 x3 h3 y2 ff3 fs2 fc0 sc0 ls0 ws0">The result is th<span class="_ _1"></span>at the <span
                    class="ff4">tr</span> element and its contents will be duplicated and inserted into the HTML
            </div>
            <div class="t m0 x4 h3 y3 ff3 fs2 fc0 sc0 ls0 ws0">document for each object returned b<span
                    class="_ _1"></span>y the <span class="ff4">items</span> property; for each iteration, the current
                to-do object c<span class="_ _1"></span>an
            </div>
            <div class="t m0 x4 h3 y4 ff3 fs2 fc0 sc0 ls0 ws0">be accessed through the variable called <span
                    class="ff4">item</span>, and the position of the object in the array c<span class="_ _1"></span>an
                be accessed
            </div>
            <div class="t m0 x4 h3 y5 ff3 fs2 fc0 sc0 ls0 ws0">through the variable c<span class="_ _1"></span>alled
                <span class="ff4">i</span>.
            </div>
            <div class="t m0 x5 h9 y120 ff1 fs1 fc1 sc0 ls0 ws0"><span class="_ _a"></span><span class="ff2">■<span
                    class="_ _b"> </span><span class="ff9 fc0 lsb wse">Tip<span class="_ _0"></span></span><span
                    class="ff1 fc0"> <span class="_ _d"> </span>It is important to remember the <span
                    class="ff4 fs2">*</span> character when using <span class="ff4 fs2">*ngFor</span>.<span
                    class="_ _1"></span> I explain what it means in Chapter <span class="fc2">13</span>.</span></span>
            </div>
            <div class="t m0 x3 h3 y121 ff3 fs2 fc0 sc0 ls0 ws0">Within the <span class="ff4">tr</span> template<span
                    class="_ _1"></span>, there are two data bindin<span class="_ _1"></span>gs, which can be recognized
                by the <span class="ff4">{{</span> and <span class="ff4">}}</span></div>
            <div class="t m0 x4 h4 y122 ff3 fs2 fc0 sc0 ls0 ws0">characters<span class="_ _1"></span>, as follows<span
                    class="_ _0"></span>:
            </div>
            <div class="t m0 x4 h3 y123 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x4 h5 y124 ff4 fs2 fc0 sc0 ls0 ws0">&lt;td&gt;<span class="ff5">{{ i + 1 }}</span>&lt;/td&gt;
            </div>
            <div class="t m0 x4 h5 y125 ff4 fs2 fc0 sc0 ls0 ws0">&lt;td&gt;<span class="ff5">{{ item.task }}</span>&lt;/td&gt;
            </div>
            <div class="t m0 x4 h3 y126 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h3 y127 ff3 fs2 fc0 sc0 ls0 ws0">These bindings refer to the variables th<span
                    class="_ _1"></span>at are crea<span class="_ _1"></span>ted by the <span class="ff4">*ngFor</span>
                expression. Bindings ar<span class="_ _1"></span>e not just
            </div>
            <div class="t m0 x4 h4 y128 ff3 fs2 fc0 sc0 ls0 ws0">used to refer to property and method names; they can
                also be used to per<span class="_ _0"></span>form simple J<span class="_ _1"></span>avaScript operations<span
                        class="_ _1"></span>.
            </div>
            <div class="t m0 x4 h3 y129 ff3 fs2 fc0 sc0 ls0 ws0">Y<span class="_ _2"></span>ou can see an example of
                this in the first binding, where I sum the <span class="ff4">i</span> variable and 1.
            </div>
            <div class="t m0 x5 h9 y12a ff1 fs1 fc1 sc0 ls0 ws0"><span class="_ _a"></span><span class="ff2">■<span
                    class="_ _b"> </span><span class="ff9 fc0 lsb wse">Tip<span class="_ _0"></span></span><span
                    class="ff1 fc0"> <span class="_ _d"> </span>For simple transformations,<span class="_ _1"></span> you can embed your JavaScript expressions directly in bindings like this,<span
                    class="_ _1"></span> </span></span></div>
            <div class="t m0 x4 h9 y12b ff1 fs1 fc0 sc0 ls0 ws0">but for more complex operations,<span
                    class="_ _1"></span> Angular has a feature called <span class="ffa">pipes</span>,<span
                    class="_ _2"></span> which I describe in Cha<span class="_ _0"></span>pter <span
                    class="fc2">18</span>.
            </div>
            <div class="t m0 x3 h3 y12c ff3 fs2 fc0 sc0 ls0 ws0">The remainin<span class="_ _1"></span>g template
                expressions in the <span class="ff4">tr</span> templa<span class="_ _1"></span>te demonstrate how
                content c<span class="_ _1"></span>an be generated
            </div>
            <div class="t m0 x4 h4 y12d ff3 fs2 fc0 sc0 ls0 ws0">selectively.</div>
            <div class="t m0 x4 h3 y12e ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x4 h5 y12f ff4 fs2 fc0 sc0 ls0 ws0">&lt;td <span class="ff5">[ngSwitch]=&quot;item.complete&quot;</span>&gt;
            </div>
            <div class="t m0 x4 h5 y130 ff4 fs2 fc0 sc0 ls0 ws0"> &lt;span <span class="ff5">*ngSwitchCase=&quot;true&quot;</span>&gt;Yes&lt;/span&gt;
            </div>
            <div class="t m0 x4 h5 y131 ff4 fs2 fc0 sc0 ls0 ws0"> &lt;span <span class="ff5">*ngSwitchDefault&gt;</span>No&lt;/span&gt;
            </div>
            <div class="t m0 x4 h3 y132 ff4 fs2 fc0 sc0 ls0 ws0">&lt;/td&gt;</div>
            <div class="t m0 x4 h3 y133 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h3 y134 ff3 fs2 fc0 sc0 ls0 ws0">The <span class="ff4">[ngSwitch]</span> expression is a
                condition<span class="_ _1"></span>al statement that is used to insert different sets of elements
            </div>
            <div class="t m0 x4 h3 y135 ff3 fs2 fc0 sc0 ls0 ws0">into the document based on a specified value, which is
                the <span class="ff4">item.complete</span> pr<span class="_ _1"></span>operty in this case. Nested
            </div>
            <div class="t m0 x4 h3 y136 ff3 fs2 fc0 sc0 ls0 ws0">within the <span class="ff4">td</span> element are two
                <span class="ff4">span</span> elements tha<span class="_ _1"></span>t have been annotated with <span
                        class="ff4">*ngSwitchCase</span> and
            </div>
            <div class="t m0 x4 h3 y137 ff4 fs2 fc0 sc0 ls0 ws0">*ngSwitchDefault<span class="ff3"> and that ar<span
                    class="_ _1"></span>e equivalent to the <span class="ff4">case</span> and <span
                    class="ff4">default</span> keywords of a regular J<span class="_ _1"></span>a<span
                    class="_ _1"></span>vaScript <span class="ff4">switch</span> </span></div>
            <div class="t m0 x4 h3 y138 ff3 fs2 fc0 sc0 ls0 ws0">block. I describe <span class="ff4">ngSwitch</span> in
                detail in Chapter <span class="fc2">13</span> (and what the squar<span class="_ _1"></span>e brackets
                mean in Chapter <span class="fc2">14</span>), but
            </div>
            <div class="t m0 x4 h3 y139 ff3 fs2 fc0 sc0 ls0 ws0">the result is tha<span class="_ _1"></span>t the first
                <span class="ff4">span</span> element is added to the document when the value of the <span class="ff4">item.complete</span>
            </div>
            <div class="t m0 x4 h3 y13a ff3 fs2 fc0 sc0 ls0 ws0">property is <span class="ff4">true</span>, and the
                second <span class="ff4">span</span> element is added to the document when <span class="ff4">item.complete</span>
                is <span class="ff4">false</span>.
            </div>
            <div class="t m0 x4 h3 y13b ff3 fs2 fc0 sc0 ls0 ws0">The result is th<span class="_ _1"></span>at the <span
                    class="ff4">true</span>/<span class="ff4">false</span> value of the <span
                    class="ff4">item.complete</span> property is transformed into <span class="ff4">span</span> elements
            </div>
            <div class="t m0 x4 h3 y13c ff3 fs2 fc0 sc0 ls0 ws0">containing either <span class="ff4">Yes</span> or <span
                    class="ff4">No</span>. When you sa<span class="_ _1"></span>ve the changes to the template<span
                    class="_ _1"></span>, the browser will reload, and the
            </div>
            <div class="t m0 x4 h4 y13d ff3 fs2 fc0 sc0 ls0 ws0">table of to-do items will be displayed, as shown in
                F<span class="_ _1"></span>igure<span class="fc2">2-6</span>.
            </div>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:565.281600px;bottom:733.384600px;width:9.599000px;height:11.914000px;background-color:rgba(255,255,255,0.000001);"></div>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:511.955600px;bottom:488.443800px;width:9.600000px;height:12.040000px;background-color:rgba(255,255,255,0.000001);"></div>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:278.293600px;bottom:251.734600px;width:9.000000px;height:10.080000px;background-color:rgba(255,255,255,0.000001);"></div>
            <div class="d m1"
                 style="border-style:none;position:absolute;left:530.471500px;bottom:251.734600px;width:9.000000px;height:10.080000px;background-color:rgba(255,255,255,0.000001);"></div>
            <a class="l" href="#pfb" data-dest-detail='[11,"XYZ",53,644,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:329.479800px;bottom:180.281400px;width:12.312000px;height:10.044000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a></div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
    <div id="pfb" class="pf w0 h0" data-page-no="b">
        <div class="pc pcb w0 h0"><img class="bi x8 y13e w2 he" alt=""
                                       src=""/>
            <div class="t m0 x0 h1 y0 ff1 fs0 fc0 sc0 ls0 ws0">CHAPTER 2 <span class="ff2 fc1">■</span><span
                    class="ws1"> YOUR <span class="_ _0"></span>FIRST ANGULAR APP</span></div>
            <div class="t m0 x6 h2 y1 ff3 fs1 fc0 sc0 lsc wsf">27</div>
            <div class="t m0 x3 ha y13f ff7 fs2 fc0 sc0 ls0 ws0">Figure 2-6.<span class="ff8"> <span
                    class="_ _b"> </span>Displaying a table of to-do items</span></div>
            <div class="t m0 x2 h4 y140 ff3 fs2 fc0 sc0 ls0 ws0">If you use the browser’<span class="_ _2"></span>s F12
                developer tools, you will be able to see the HTML content tha<span class="_ _1"></span>t the template
            </div>
            <div class="t m0 x3 h4 y141 ff3 fs2 fc0 sc0 ls0 ws0">has generated. (Y<span class="_ _2"></span>ou can’t do
                this looking at the page source<span class="_ _1"></span>, which just shows the HTML sent by the server
            </div>
            <div class="t m0 x3 h4 y142 ff3 fs2 fc0 sc0 ls0 ws0">and not the changes made b<span class="_ _1"></span>y
                Angular using the DOM API.)
            </div>
            <div class="t m0 x2 h4 y143 ff3 fs2 fc0 sc0 ls0 ws0">Y<span class="_ _2"></span>ou can see how each to-do
                object in the model has produced a ro<span class="_ _1"></span>w in the table that is populated with
            </div>
            <div class="t m0 x3 h3 y144 ff3 fs2 fc0 sc0 ls0 ws0">the <span class="ff4">local</span> item and <span
                    class="ff4">i</span> variables and how the switch expression sho<span class="_ _1"></span>ws Y<span
                    class="_ _1"></span>es or No to indic<span class="_ _1"></span>ate whether the task
            </div>
            <div class="t m0 x3 h4 y145 ff3 fs2 fc0 sc0 ls0 ws0">has been completed.</div>
            <div class="t m0 x3 h3 y146 ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h3 y147 ff4 fs2 fc0 sc0 ls0 ws0">&lt;tr&gt;</div>
            <div class="t m0 x3 h3 y148 ff4 fs2 fc0 sc0 ls0 ws0"> &lt;td&gt;2&lt;/td&gt;</div>
            <div class="t m0 x3 h3 y149 ff4 fs2 fc0 sc0 ls0 ws0"> &lt;td&gt;Get flowers&lt;/td&gt;</div>
            <div class="t m0 x3 h3 y14a ff4 fs2 fc0 sc0 ls0 ws0"> &lt;td&gt;&lt;span&gt;No&lt;/span&gt;&lt;/td&gt;</div>
            <div class="t m0 x3 h3 y14b ff4 fs2 fc0 sc0 ls0 ws0">&lt;/tr&gt;</div>
            <div class="t m0 x3 h3 y14c ff4 fs2 fc0 sc0 ls0 ws0">...</div>
            <div class="t m0 x3 h7 y14d ff3 fs3 fc0 sc0 ls0 ws0"><span class="_ _6"></span>Crea<span
                    class="_ _1"></span>ting aT<span class="_ _1"></span>wo-W<span class="_ _1"></span>ay Data B<span
                    class="_ _1"></span>inding
            </div>
            <div class="t m0 x3 h4 y14e ff3 fs2 fc0 sc0 ls0 ws0">At the moment<span class="_ _1"></span>, the template
                contains only <span class="ff8">one-<span class="_ _1"></span>way data bindings<span class="ff3">, which means they ar<span
                        class="_ _1"></span>e used to  </span></span></div>
            <div class="t m0 x3 h4 y14f ff3 fs2 fc0 sc0 ls0 ws0">display a data value b<span class="_ _1"></span>ut are
                unable to change it<span class="_ _1"></span>. Angular also supports <span class="ff8">two-way data bind<span
                        class="_ _1"></span>ings<span class="ff3">, which can be </span></span></div>
            <div class="t m0 x3 h4 y150 ff3 fs2 fc0 sc0 ls0 ws0">used to display a data value and ch<span
                    class="_ _1"></span>ange it, too. T<span class="_ _1"></span>wo-way bindings ar<span
                    class="_ _1"></span>e used w<span class="_ _0"></span>ith HTML form elements, and
            </div>
            <div class="t m0 x3 h3 y151 ff3 fs2 fc0 sc0 ls0 ws0">Listing <span class="fc2">2-17</span> adds a checkbox
                <span class="ff4">input</span> element to the tem<span class="_ _1"></span>plate that will let users
                mark a to-do item as complete<span class="_ _1"></span>.
            </div>
            <div class="t m0 x3 h4 y152 ff7 fs2 fc0 sc0 ls0 ws0">Listing 2-17. <span class="_ _5"> </span><span
                    class="ff3">Adding a T<span class="_ _1"></span>wo-Wa<span
                    class="_ _1"></span>y Binding in the app<span class="_ _1"></span>.component.html F<span
                    class="_ _1"></span>ile in the src/app Folder</span></div>
            <div class="t m0 x3 h3 y153 ff4 fs2 fc0 sc0 ls0 ws0">&lt;h3 class=&quot;bg-primary text-center text-white
                p-2&quot;&gt;
            </div>
            <div class="t m0 x3 h3 y154 ff4 fs2 fc0 sc0 ls0 ws0"> {{ username }}&apos;s To Do List</div>
            <div class="t m0 x3 h3 y155 ff4 fs2 fc0 sc0 ls0 ws0"> &lt;h6 class=&quot;mt-1&quot;&gt;{{ itemCount }}
                Incomplete Items&lt;/h6&gt;
            </div>
            <div class="t m0 x3 h3 y156 ff4 fs2 fc0 sc0 ls0 ws0">&lt;/h3&gt;</div>
            <a class="l" href="#pfb" data-dest-detail='[11,"XYZ",53,134,null]'>
                <div class="d m1"
                     style="border-style:none;position:absolute;left:106.422550px;bottom:188.687200px;width:16.812000px;height:10.080000px;background-color:rgba(255,255,255,0.000001);"></div>
            </a></div>
        <div class="pi" data-data='{"ctm":[1.300000,0.000000,0.000000,1.300000,0.000000,0.000000]}'></div>
    </div>
</div>
<div class="loading-indicator">
    <img alt=""
         src=""/>
</div>
</body>
</html>
